我正在使用Java和Selenium为Chrome编写测试。我需要一次打开下载页面,以便used下面的代码:
action.keyDown(Keys.CONTROL).sendKeys("j").keyUp(Keys.CONTROL).build().perform();
只要操作系统重点在测试浏览器上,它就能正常工作,我的意思是如果我运行测试然后再点击其他地方(例如,如果我在测试运行时在IDE中开始编码)此代码不会工作。
如何将焦点带回测试浏览器或此代码工作的任何其他方式,并在测试浏览器上打开下载窗口?
有趣的是,它适用于:
action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).build().perform();
,即使它没有集中注意力!
答案 0 :(得分:0)
如果您的目标是清除下载内容,而不仅仅是启动另一个具有新状态的ChromeDriver,您可以尝试以下操作:
driver.get("chrome://downloads/");
((JavascriptExecutor) driver).executeScript("chrome.send('clearAll');");