从Chrome

时间:2016-01-19 18:58:44

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

我在Chrome 47中面临一个问题,使用Selenium(WebDriver)2.48.2,ChromeDriver 2.20.353145和Java作为编程语言。我无法在线找到任何解决方案。 我需要打开浏览器的右键菜单" (或上下文点击菜单)来自输入,我可以使用此代码执行此操作:

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

1 个答案:

答案 0 :(得分:0)

似乎是一个问题。它与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();