【发布时间】:2020-04-18 15:38:38
【问题描述】:
我需要在 CI 管道中运行测试用例。虚拟机是linux的地方。 Selenium 多窗口处理 - switchTo() 方法抛出 linux 平台异常。
例外:
org.openqa.selenium.WebDriverException: invalid argument: 'handle' must be a string
代码试验:
driver.switchTo().window(subWindowHandler);
按多窗口句柄方式声明:
String subWindowHandler = null;
Set<String> handles = driver.getWindowHandles();
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()) {
subWindowHandler = iterator.next();
}
这段代码在本地windows系统中完美运行。
【问题讨论】:
-
subWindowHandler 是如何声明/定义的?
-
按多窗口句柄方式声明- String subWindowHandler = null; Set
句柄 = driver.getWindowHandles();迭代器 迭代器 = 句柄.iterator(); while (iterator.hasNext()) { subWindowHandler = iterator.next(); } 此代码在本地 windows 系统中完美运行 -
多个 ?你的意思是
windowHandles的列表? -
@DebanjanB .. 请检查上面编辑的评论以回答您的问题
-
Chrome / ChromeDriver 版本好吗?
标签: linux selenium selenium-webdriver webdriverwait window-handles