【问题标题】:Selenium- After click a link,IE opens two windows instead of one windowSelenium-点击链接后,IE打开两个窗口而不是一个窗口
【发布时间】:2016-05-20 05:11:39
【问题描述】:

我正在开发安全的 Web 应用程序。当我单击框架内的链接时,它打开了另一个要填充信息的单个窗口。但是当我在 selenium 中执行此场景时,它单击框架内的链接并系统显示两个窗口,其中 window1 显示空白页面,标题为“空白页- window internet explorer'和window2显示没有标题的网站安全证书。

当我手动操作时,它显示单个窗口,但在自动化期间,它显示两个窗口。

注意:应用程序仅支持 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()");   

登录应用程序,下一步点击链接

driver.findElement(By.xpath(".//table[@id='maintable']//a").click();

请帮助我。

【问题讨论】:

  • 请分享您网页的 HTML。
  • 使用 Windows 处理程序打开新标签。
  • 我的问题是它抛出两个窗口而不是一个窗口而不是窗口切换。

标签: java selenium selenium-webdriver webdriver


【解决方案1】:

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

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

第二行似乎可以解决问题。

【讨论】:

  • 这对我不起作用。我面临着完全相同的问题。
【解决方案2】:

以下解决方案有效

修改注册表值,TabProcGrowth 为 0 解决了问题-

转到 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main TabProcGrowth(右键单击)→ 修改...→ 数值数据:0

【讨论】:

    【解决方案3】:
    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.
    

    【讨论】:

    • 我使用的是官方通讯工具 Lync。对这个软件有什么影响吗?我检查了控制面板,它不存在。
    • 您使用的是哪个版本的 selenium jar。试试下面的代码... System.setProperty("webdriver.ie.driver","./tools/IEDriverServer_32.exe"); WebDriver driver = new InternetExplorerDriver(); driver.get(url); driver.navigate().to("javascript:document.getElementById('overridelink').click()");如果这不起作用....最后一个选项,请重新安装 IE,问题将得到解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 2015-01-11
    • 1970-01-01
    相关资源
    最近更新 更多