我使用Selenium WebDriver
和java.awt.Robot
类来处理文件上传过程中的对话窗口,文件选择器。我使用Chromedriver
来处理浏览器。如果焦点不在浏览器窗口上,Robot
会将文本粘贴到实际的活动字段而不是浏览器窗口。
如果不打开对话框窗口,我无法直接将文件发送到此输入字段。
答案 0 :(得分:0)
我是否正确x打开文件选择器对话框后想要将命令发送到浏览器?
要解决此问题,您可以获取浏览器的窗口句柄
Set<String> handles = driver.getWindwoHandles();
之后你使用
sriver.switchTo().window(windowHandleOfYourBrowser);
切换到Chrome浏览器。
答案 1 :(得分:0)
我希望java.awt.Robot
无法控制Selenium WebDriver
。天气浏览器处于焦点或不是java.awt.Robot
执行它的操作。
在您的情况下,您可以关注浏览器并调用机器人方法。
在机器人类方法之前......
//Get back the focus
((JavascriptExecutor) webDriver).executeScript("window.focus();");
//机器人类方法......
希望这能解决您的问题。