我的 Web 应用程序是银行应用程序。在 IE 浏览器中输入应用程序 URL 后,它会检查该浏览器中的浏览器配置/分辨率,并立即打开另一个具有实际应用程序但没有任何地址栏的浏览器。我正在尝试 switchTo
窗口并识别浏览器二(加载应用程序的位置)中的元素。
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");
}
}
最佳答案
如下所示更改 IE 的注册表,并验证是否检测到新窗口。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
右键→新建→字符串值→值名称:TabProcGrowth(如果不存在则创建)
TabProcGrowth(右键单击)→ 修改...→ 值数据:0
关于java - 将 Selenium WebDriver 与 Java 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60222226/