java - 从 Chrome 中的上下文单击菜单中选择选项

标签 java google-chrome selenium-webdriver contextmenu selenium-chromedriver

我在使用 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/

相关文章:

java - JNA CreatePseudoConsole 声明

java - 返回字符串构建器对象

java - 使用 'this' 作为不良编码习惯的显式构造函数调用?

javascript - 关闭窗口/选项卡时的 Websocket - Chrome

selenium - Selenium 的 WebElement.getRect() 是否适用于 Chrome 或 IE?

java - Selenium Webdriver 拼写检查

java - 自签名证书验证不会在 Android 中抛出 SignatureException

css - Chrome - 内联 css 有效但样式表无效

android - json文件中的特殊字符

java - selenium 中的desire 功能和Firefox 选项之间的主要区别是什么