有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

结合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) 个答案

  1. # 1 楼答案

    如下图所示更改IE的注册表,并验证是否检测到新窗口

    HKEY_当前用户\Software\Microsoft\Internet Explorer\Main

    右击→ 刚出现的→ 字符串值→ 值名称:TabProcGrowth(如果不存在,则创建)

    TabProcGrowth(右键单击)→ 修改→ 价值数据:0