请帮助我!
导航到页面后,Selenium Webdriver应按control + F
并使用机械手类搜索号码。
我尝试使用动作类,但是control + F
无法正常工作。
所以,我用过机器人课。
Robot rb = new Robot();
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_F);
control + F
正在工作。但是,如何发送我要搜索/查找的号码。
如果可能的话,请告诉我如何使用一组模式从页面中搜索特定字符串。
更新: 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窗口中复制。
答案 0 :(得分:0)
我们还需要使用Robot类执行搜索,以下代码将搜索内容复制到剪贴板,然后使用Robot类按Ctrl + V将搜索字符串粘贴到“查找”框中
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)