【发布时间】:2016-10-04 11:44:53
【问题描述】:
我正在尝试在两个选项卡之间切换,发现以下代码
ArrayList<String> tabs2 = new ArrayList<String> (page.getWindowHandles());
System.out.println(tabs2.size());
page.switchTo().window(tabs2.get(1));
page.close();
page.switchTo().window(tabs2.get(0));
我对此有一个疑问。我的窗口是一样的,所以page.getWindowHandles() 只返回一个句柄。 tabs2.size 是 1,所以 page.switchTo().window(tabs2.get(1)); 给出异常 ArrayIndexOutOfBound
我在这篇帖子switch tabs using Selenium WebDriver with Java 中找到了类似的代码,但对我来说,这段代码给出了异常。
【问题讨论】:
-
这里有什么问题?如果您只有 1 个选项卡,那么您已经在该选项卡上......并且
tabs2.size()正在返回1,这是正确的。 -
我打开了两个标签,然后我使用这段代码仍然返回 1。那么如何在两个标签上工作?
-
您是使用
selenium还是手动打开第二个选项卡,还是应用程序行为? -
我使用了这个代码 page.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
标签: java selenium selenium-webdriver