结合Java使用SeleniumWebDriver
我的web应用程序是一个银行应用程序。在IE浏览器中输入应用程序URL后,它会检查该浏览器中的浏览器配置/分辨率,并立即打开另一个浏览器,该浏览器具有实际应用程序,但没有任何地址栏。我正在尝试switchTo
窗口并识别browser 2中的元素(应用程序加载的地方)
switchTo
窗口在我的情况下不起作用。如何从这个新窗口中识别元素?请帮忙
编辑:我甚至试着根据浏览器的标题切换到第二个浏览器。但它仍然不起作用
public class Test {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.ie.driver", "C://Apps//IEDriverServernew.exe");
WebDriver driver = new InternetExplorerDriver();
driver.get("https://argoqa.snv.net");
Thread.sleep(8000);
String winHandleBefore = driver.getWindowHandle();
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
//the above for loop iterates only once. shows only one window handle.
driver.switchTo().frame("iframeContent"); // 2nd Browser has frame.
Select bank = new Select(driver.findElement(By.name("selectRegionID"))); //trying to select bank
bank.selectByVisibleText("TEST BANK");
System.out.println("Selenium Webdriver Script");
driver.quit();
Runtime.getRuntime().exec("taskkill /F /IM iexplore.exe");
}
}
# 1 楼答案
如下图所示更改IE的注册表,并验证是否检测到新窗口
HKEY_当前用户\Software\Microsoft\Internet Explorer\Main
右击→ 刚出现的→ 字符串值→ 值名称:TabProcGrowth(如果不存在,则创建)
TabProcGrowth(右键单击)→ 修改→ 价值数据:0