如何执行ctrl + F并通过机器人课程搜索数字

时间:2018-08-31 09:40:04

标签: java selenium-webdriver

请帮助我! 导航到页面后,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窗口中复制。

1 个答案:

答案 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)