我在使用 Selenium (WebDriver) 2.48.2、ChromeDriver 2.20.353145 和 Java 作为编程语言的 Chrome 47 中遇到问题。我在网上找不到任何解决方案。 我需要从输入中打开“浏览器右键菜单”(或上下文单击菜单),我可以使用以下代码来完成此操作:
new Actions(driverExample).contextClick(inputExample).build().perform();
下一步:从中选择一个选项。我在网上查了一下,看似简单,其实不然。我没有在其他浏览器上尝试过,但我总是在网上看到很多人在 Firefox 和 Internet Explorer 中使用类似以下内容来执行此操作:
new Actions(driverExample).contextClick(inputExample).sendKeys(Keys.ARROW_UP).sendKeys(Keys.ARROW_UP).sendKeys(Keys.RETURN).build().perform();
在这种情况下,我放置了两个“向上箭头”和一个“输入”,因为我必须选择底部的第二个选项。无论如何,这似乎适用于 Firefox 和 Internet Explorer 中的用户,但不适用于 Chrome,而且我也看到很少有关于此问题的讨论而没有解决方案。那么为什么不在这里给我和其他人一个最终的解决方案呢?提前致谢。
最佳答案
似乎是个问题。它适用于 Firefox,但不适用于 chromedriver。请通过https://bugs.chromium.org/p/chromedriver/issues/list提出问题
示例代码:
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com/");
Actions a = new Actions(driver);
WebElement input = driver.findElement(By.name("q"));
input.sendKeys("test");
a.contextClick(input).sendKeys(Keys.chord(Keys.ARROW_UP,Keys.ARROW_UP,Keys.ARROW_UP,Keys.ARROW_UP,Keys.ENTER)).build().perform();
关于java - 从 Chrome 中的上下文单击菜单中选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34884852/