我已经在这里解决了这个堆栈溢出问题,试图解决我的问题:Switch tabs using Selenium WebDriver with Java
我很难让WebDriver切换到新选项卡。要么因为它在错误的选项卡上而失败,要么切换到新选项卡并且该选项卡不加载。
if(contains(course1, course)) {
courseLinks.get(0).click();
} else if(contains(course2, course)) {
courseLinks.get(1).click();
} else {
System.out.printf("%s is invalid!", course);
driver.close();
return;
}
ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs2.get(0));
driver.close();
driver.switchTo().window(tabs2.get(1));
String title = driver.findElement(By.tagName("title")).getText();
System.out.println("Title: " + title);
此代码是我上面链接的SO问题的答案之一的改编。发生的情况是,我进入特定页面,单击要查找的课程,这将打开一个新选项卡。我需要它才能切换到该新标签。
但是,由于某些原因,此代码导致该选项卡甚至无法加载。它只是空白,标题为“无标题”。
这里缺少什么吗?无论我做什么,我要么无法切换选项卡,要么选项卡切换但无法加载。