action.sendKeys(body, Keys.CONTROL + "j") 打不开下载页面
action.sendKeys(body, Keys.CONTROL + "j") dosen't open the download page
我正在使用 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 class,因为如果焦点不在测试目标浏览器上,它会在其他浏览器上打开页面。
需要使用按键绑定吗?
您可以直接导航至 URL chrome://downloads/
...
编辑:Ofc,这不是跨浏览器兼容性的理想解决方案。但绝对是 chrome.
的一个很好的解决方法
尝试使用下面的代码,它在我这边工作得很好......
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 中起作用。
我正在使用 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 class,因为如果焦点不在测试目标浏览器上,它会在其他浏览器上打开页面。
需要使用按键绑定吗?
您可以直接导航至 URL chrome://downloads/
...
编辑:Ofc,这不是跨浏览器兼容性的理想解决方案。但绝对是 chrome.
的一个很好的解决方法尝试使用下面的代码,它在我这边工作得很好......
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 中起作用。