如何关闭硒中的弹出窗口?

时间:2019-06-06 18:32:42

标签: selenium testing selenium-webdriver automated-tests

我正在使用Java进行测试,并且会弹出窗口(广告),并且我不知道如何关闭它们以继续进行测试。 我必须单击一个按钮,但是将焦点更改为窗口。 网址是www.orbitz.com 请帮忙!

orbitz

1 个答案:

答案 0 :(得分:0)

Java解决方案:

//switch to opened tab
ArrayList<String> tabs_windows = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs_windows.get(1));
//close current tab and switch driver back to original
((JavascriptExecutor)driver).executeScript("close();");
for (String winHandle : driver.getWindowHandles()) {
driver.switchTo().window(winHandle); 
 }

我已经有一段时间没有对此进行测试了,但是在不同的浏览器中,getWindowHandles()用于返回选项卡的不同顺序。不确定是否可以假设0是所有浏览器的第一个标签。相应地更改索引,或在弹出窗口之前存储当前的句柄,然后关闭所有不匹配的句柄。