我正在学习Selenium-Webdriver,因此在一个场景中练习,但我已经陷入了第3步。情景如下:
到目前为止,我可以打开谷歌主页,搜索单词" WebDriver"并打开前两个链接,但现在我无法切换到第二个和第三个选项卡并关闭它们。到目前为止我的代码是:
PHP_Code/MyAjax.php?page=page_id
我不知道它出了什么问题,以及如何解决它。 :(
答案 0 :(得分:1)
我搜索了切换切换等功能但却一无所获。 最接近的是窗户的切换。 (有很多评论说WindowHandles可用于制表切换,但事实并非如此 - 我已经尝试了很多。它只能用于Windows开关,但不能用于制表开关)
如果您需要在新窗口中打开 - 您需要点击按下shift btn
的链接代码就像
jQuery(document).ready(function($){
如果你需要切换窗口
Actions.KeyDown(Keys.Shift).Click(ElementToClick).KeyUp(Keys.Shift).Build().Perform();
答案 1 :(得分:1)
可能为时已晚,但希望这会有所帮助:
for (String winHandle : driver.getWindowHandles()) { //Gets the new window handle
System.out.println(winHandle);
driver.switchTo().window(winHandle); // switch focus of WebDriver to the next found window handle (that's your newly opened window)
}
答案 2 :(得分:1)
请尝试使用以下代码:
Set<String> s1 = driver.getWindowHandles();
for(String childwindow : s1) {
if(!originalHandle.equals(childwindow)) {
driver.switchTo().window(childwindow);
System.out.println("Tab title is " + driver.getTitle();
}
driver.close();
}
driver.switchTo().window(originalHandle);
希望这有帮助。
答案 3 :(得分:1)
http://www.dev2qa.com/open-multiple-windows-tabs-in-selenium-webdriver/