如何右键单击链接并使用Selenium WebDriver选择一个选项

时间:2012-11-28 10:20:09

标签: selenium-webdriver

如何在链接或图像上选择右键单击操作并选择任何选项?

我知道如何使用SendKeys使用以下代码:

WebElement o_Mail=driver.findElement(By.xpath("/html/body/center/form/table/tbody/tr/td[3]/a"));
Actions action=new Actions(driver);
action.contextClick(o_Mail).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build().perform();

缺点是我们应该知道应该按下DOWN按钮多少次。

但是如何选择选项名称,如下所示?

action.contextClick(o_Mail).perform();
WebElement o_element=driver.findElement(By.xpath("//option[contains(text(),'Open Link in New Tab')]"));
o_element.click();

您可以使用Google主页并右键点击高级搜索,然后选择新标签中的打开链接?

请帮忙。

4 个答案:

答案 0 :(得分:1)

如果你想要2个单独的窗口,你可以做的就是获取文件的url(通过获取元素的href属性)然后启动一个新的驱动程序并导航到该链接。

答案 1 :(得分:1)

我从来没有用Java编写selenium脚本,但是这样的东西可能会起作用:

WebElement o_element=driver.findElement(By.xpath("//option[contains(text(),'Open Link in New Tab')]"));
String url = o_element.getAttribute("href");
driver.executeScript("window.open(" + url + ", '_blank');");

答案 2 :(得分:0)

只是猜测:新标签中的打开链接也主要通过Ctrl +单击

完成

在我的硒测试中我没有这样做,但是你可以像按下键的方式那样做...

答案 3 :(得分:0)

如果要从上下文菜单中选择项目,则必须使用像这样的按键事件移动鼠标位置。下面的代码将从上下文菜单中选择第二个选项: -

动作动作=新动作(驱动程序); action.contextClick(PRODUCTLINK).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build()执行();

希望这对你有用。