我曾经做过一个项目,其中我显示了一个名称列表及其对应的超链接,每个超链接文本都不同,所以它看起来像这样,
使用下面的代码行,我可以获得所需的元素,
arg1 = "http://somesite.com/name3"
WebElement urlElement = driver.findElement("//a[contains(text(), '" + arg1 + "')]");
有了这个,我就得到了 urlElement。现在,当我点击 urlElement 时,
urlElement.click();
我期待它打开窗口,以便稍后在链接下,我可以调用,
driver.switchTo().window("opened window title")
我原以为这会起作用,但由于某种原因,它未能说明这些不是该标题的窗口。
最佳答案
urlElement.click();
Set<String> winids = driver.getWindowHandles();
System.out.println("Total number of windows/tabs are:" +winids.size());
String mainWindow = winids.iterator().next();
String childWindow = winids.iterator().next();
System.out.println(mainWindow);
System.out.println(childWindow);
driver.switchTo().window(childWindow);
我希望这对你有用..
它只是在窗口之间切换。你想测试获取窗口的标题并与预期的窗口标题进行比较
关于testing - Selenium (Java) - 如何单击链接然后测试窗口是否打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20405901/