机器人类,在WebDriver中没有焦点在浏览器窗口上



我将Selenium WebDriverjava.awt.Robot类一起使用来处理对话框窗口,文件上传过程中的文件选择器。我使用Chromedriver来处理浏览器。如果焦点不在浏览器窗口上,Robot将文本粘贴到实际活动字段而不是浏览器窗口。 如果不打开对话框窗口,我无法将文件直接发送到此输入字段。

我是对的 xou 想在打开文件选择器对话框后向您的浏览器发送命令吗?

要解决此问题,您可以获取浏览器的窗口句柄

Set<String> handles = driver.getWindwoHandles();

之后你使用

sriver.switchTo().window(windowHandleOfYourBrowser);

以切换到您的 Chrome 浏览器。

我希望java.awt.Robot无法控制Selenium WebDriver.浏览器是否处于焦点状态java.awt.Robot执行其操作。

在您的情况下,您可以使浏览器专注于并调用您的机器人方法。

在机器人类方法之前...

//Get back the focus 
((JavascriptExecutor) webDriver).executeScript("window.focus();");

机器人类方法...

希望这能解决您的问题。

相关内容

  • 没有找到相关文章

最新更新