有 Java 编程相关的问题?

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

java Selenium单击链接后,IE将打开两个窗口,而不是一个窗口

我正在开发安全的web应用程序。当我点击框架内的链接时,它打开了另一个窗口,在那个里可以填写信息。但当我在selenium中执行此场景时,它会单击框架内的链接,系统会显示两个窗口,其中window1显示标题为“空白页面-windows internet explorer”的空白页面,window2显示标题为“空白页面-windows internet explorer”的网站安全证书

当我手动操作时,它显示单个窗口,但在自动化过程中,它显示两个窗口

注意:应用程序仅支持IE10

脚本:

System.setProperty("webdriver.ie.driver","./tools/IEDriverServer_32.exe");
    DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
    caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    caps.setCapability("ignoreZoomSetting", true);
    WebDriver driver = new InternetExplorerDriver(caps);
    driver.get(url);
         driver.navigate().to("javascript:document.getElementById('overridelink').click()");   

登录应用程序,然后下一步单击链接

司机。findElement(By.xpath(“.//table[@id='maintable']//a”)。单击()

请帮我做这个

enter image description here


共 (3) 个答案

  1. # 1 楼答案

    which version of selenium jar are you using. Try below code... 
    
    System.setProperty("webdriver.ie.driver","./tools/IEDriverServer_32.exe"); WebDriver driver = new InternetExplorerDriver();   
    driver.get(url); driver.navigate().to("javascript:document.getElementById('overridelink').click()‌​"); 
    
    if this not works.... last option, please Reinstall IE and problme will be fixed.
    
  2. # 2 楼答案

    下面的解决方案奏效了

    将注册表值TabProcGrowth修改为0解决了以下问题-

    转到HKEY\U CURRENT\U USER\Software\Microsoft\Internet Explorer\Main TabProcGrowth(右键单击)→ 修改…→ 价值数据:0

  3. # 3 楼答案

    我在IE 10中遇到了完全相同的问题。。当我使用DesiredCapabilities类将“nativeEvents”设置为true时,问题似乎得到了解决。您可以尝试同样的方法,并让我们知道它是否也适用于您。请查找代码段以供参考:

    DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
    ieCapabilities.setCapability("nativeEvents", true);
    WebDriver driver = new InternetExplorerDriver(ieCapabilities);
    

    第二行似乎起到了作用