【问题标题】:Select option from context click menu in Chrome从 Chrome 的上下文单击菜单中选择选项
【发布时间】:2016-01-19 18:58:43
【问题描述】:

我在使用 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,而且我也很少看到没有解决方案的关于这个问题的讨论。那么为什么不在这里给我和其他人一个最终的解决方案呢?提前致谢。

【问题讨论】:

  • 恐怕这里没有人会为您修复 Selenium。您是否尝试过在他们的回购中打开问题? (github.com/SeleniumHQ/selenium)
  • 您可以粘贴日志或任何调试信息吗?
  • @TravelingTechGuy 不,但我现在正在做(感谢提示)。
  • @MohitSharma 如果你能解释一下,当然 =D。

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


【解决方案1】:

似乎是个问题。它适用于 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();

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多