请帮我!导航到页面后,selenium webdriver应按control + F
并使用robot类搜索数字。我尝试过使用动作类,但control + F
无效。所以,我使用过机器人类。
Robot rb = new Robot();
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_F);
control + F
正在工作。但是,如何发送我想要搜索/查找的号码。
另外,如果可能的话,请告诉我如何使用模式集从页面中搜索特定字符串。
update:dr.findElement(By.xpath(“// input [@ name ='regno']”))。sendKeys(regno);的System.out.println(REGNO);
// clicking on find button
dr.findElement(By.xpath("//input[@value='Find']")).click();
Robot rb = new Robot();
StringSelection ss = new StringSelection(regno);
Clipboard cp = Toolkit.getDefaultToolkit().getSystemClipboard();
cp.setContents(ss, null);
// ctrl+F
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_F);
// Releasing Ctrl and F key
rb.keyRelease(KeyEvent.VK_F);
rb.keyRelease(KeyEvent.VK_CONTROL);
Thread.sleep(2000);
// ctrl+v
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL);
但是,regno中存在的值不会被复制到ctrl + f窗口中。
搜索我们还需要使用Robot类执行,下面的代码将搜索内容复制到剪贴板,然后使用机器人类Ctrl + V将搜索字符串粘贴到Find框中
StringSelection stringSelection = new StringSelection("Search String");
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL)
rb.keyRelease(KeyEvent.VK_V)