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

问题描述 投票:0回答:1

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

java selenium-webdriver
1个回答
0
投票

搜索我们还需要使用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)
© www.soinside.com 2019 - 2024. All rights reserved.