action.sendKeys(body,Keys.CONTROL +“j”)不要打开下载页面

时间:2016-05-27 20:53:54

标签: java selenium selenium-webdriver selenium-chromedriver

我正在使用Java和Selenium为Chrome编写测试。我需要一次打开下载页面,所以我使用了:

action.sendKeys(Keys.CONTROL + "j").build().perform();

但它不会打开页面。 然后我在它之前添加了这一行,因为虽然它可能有效,但它没有:

WebElement body = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//body[@id='body']")));
action.sendKeys(body, Keys.CONTROL + "j").build().perform();

奇怪的是

action.sendKeys(Keys.CONTROL + "a").build().perform();

作品!!

注意:我不想使用Robot类,因为如果焦点不在测试目标浏览器上,它将在其他浏览器上打开页面。

2 个答案:

答案 0 :(得分:2)

尝试使用类似于下面的代码,它在我的结束时工作得很好......

Actions builder = new Actions(driver);
builder.keyDown(Keys.CONTROL).sendKeys("j").keyUp(Keys.CONTROL).build().perform();

我建议不要使用chrome:// downloads,因为这在IE和FF中不起作用,但CTRL + j适用于所有chrome,IE和FF。

答案 1 :(得分:0)

您需要使用密钥绑定吗? 您只需导航到网址chrome://downloads/ ...

即可

编辑:Ofc,这不是跨浏览器兼容性的理想解决方案。但绝对是一个很好的解决方案。