0

How to select a right click operation on a link or image and choose any option?

I know how to do it using SendKeys with below code:

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();

The drawback is here we should know how many times the DOWN button should be pressed.

But how can i select with option name which will be like below?

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

You can use google main page and right click on Advance search and choose Open Link in New Tab?

Please help.

4

4 回答 4

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');");
于 2014-07-08T08:49:22.877 回答
1

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

于 2013-04-16T18:35:36.483 回答
0

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

动作动作=新动作(驱动程序);action.contextClick(productLink).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build().perform();

希望这对你有用。

于 2014-07-08T09:09:28.030 回答
0

只是猜测:在新选项卡中打开链接也主要通过 Ctrl + 单击完成

在我的硒测试中我还没有这样做,但你可以用你做按键方法的方式来做这件事......

于 2012-11-28T10:30:31.070 回答