在新窗口中打开链接

时间:2014-12-10 18:42:47

标签: java selenium

我需要在Selenium的新窗口中打开一个链接。我找到了以下2(假设我们是WebElement,我已经找到了它,myWait只执行等待x毫秒):

1)

Actions act = new Actions(driver);
act.contextClick(we).perform();
myWait(1000); // allow the menu to come up
act.sendKeys(which).perform();

2)

we.sendKeys(Keys.CONTROL + "t");

在#1中我看到菜单出现了,但是sendKeys不起作用(哦,顺便说一句"其中"在sendKeys中是" t" )。在#2中它只是忽略它。

在#1中是否已经出现在新窗口中的菜单?我必须driver.switchTo()吗?如果没有,我做错了什么?

另外,还有另一种方法吗?我们是<a href=blah>形式的元素,定期点击打开正常。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码在新窗口中打开链接:

Actions newTab= new Actions(driver);
WebElement link = driver.findElement(By.xpath("//xpath of the element"));

//Opening the link in new window
newTab.contextClick(link).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ENTER).build().perform();

注意:在您打开链接新窗口后,要控制它,您需要获取此子窗口的句柄,使用{切换到它{1}} 并采取进一步行动。然后,您可以关闭它并切换回父窗口(原始窗口)并在此处执行操作(确保在新窗口中打开链接之前获取父窗口句柄,以便切换回它更容易)