当前位置: 首页 > 知识库问答 >
问题:

IE11上的Selenium WebDriver

乐正光誉
2023-03-14

>

  • (仅对于IE 11,您将需要在目标计算机上设置一个注册表项,以便驱动程序可以保持与它创建的Internet Explorer实例的连接。对于32位Windows安装,您必须在注册表编辑器中检查的项是HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\Feature_BFCache。

    对于64位Windows安装,关键是HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\Feature_BFCache。请注意,FEATURE_BFCACHE子键可能存在,也可能不存在,如果不存在,则应创建子键。在此键中,创建一个名为IExplore.exe且值为0的DWORD值。)

    所有区域的受保护模式设置都相同

    已禁用增强保护模式。

    但当我在IE11中执行我的自动化脚本时,它仍然在打开浏览器并得到以下异常

    org.openqa.selenium.ElementNotVisibleException: Received a JavaScript error attempting to 
    click on the element using synthetic events.We are assuming this is because the element 
    isn't displayed, but it may be due to other problems with executing JavaScript. (WARNING:
    The server did not provide any stacktrace
    information)
    

    有谁能帮我解决这个问题吗。我需要在IE11中执行我的自动化脚本。

  • 共有1个答案

    潘自强
    2023-03-14

    这是有点棘手和恼人,但可能。

    您已经提到了需要的IE设置。它还在运行/使用之间缓存内容,您必须清除缓存和个人设置。我发现,以下内容有助于确保实例在启动时是干净的。这些选项将在实例化WebDriver时传递到IE实例中。

    本地:

        var options = new InternetExplorerOptions();
        options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
        //Clean the session before launching the browser
        options.EnsureCleanSession = true;
    
        capabilities = DesiredCapabilities.InternetExplorer();
        capabilities.SetCapability("ie.ensureCleanSession", true);
    
     类似资料:
    • 问题内容: IE11由于某种原因拒绝了PUT请求,但仅当我使用https时。我很难找到问题,因为使用http,localhost和其他浏览器可以正常工作。 控制台显示两个错误 从浏览器发送的OPTION请求是 服务器的响应如下: AngularJS用于客户端标准$ http PUT。服务器端使用带有jersey的Java,请求过滤器来处理CORS如下: 也许您可以看到问题所在。 谢谢 问题答案:

    • 问题内容: 当我运行WebDriver测试时,它们根本无法工作。到目前为止,我已经完成了以下操作:1)我更新了注册表项,使其包含FEATURE_BFCACHE 2)所有区域的保护模式设置都相同3)禁用了增强保护模式4)我也尝试过在我的计算机上设置IEDriverServer路径 测试在Chrome,Firefox等上正常运行,但是在IE11上运行时,我得到: 我正在使用eclipse用Java编写

    • 我知道这个问题和下面的问题是重复的。 我打开了许多选项卡,但结果getWindowHandles()总是返回1。

    • 我们如何捕捉“取消”事件并清除“角”文件输入控件?如果没有,是否有任何解决办法来清除当用户点击“取消”按钮时的文件上传?

    • 问题内容: 在IE 11中,ToLocaleDateString()获得了有趣的结果。返回的字符串在浏览器中看起来不错,例如“ 1/28/2014 11:00:46 AM”,但是如果我将该值复制并粘贴到纯文本编辑器中,它看起来像这样:“?1?/? 28?/?2014?11?:?00?:?46??AM”。 有趣的是,如果我将文本粘贴到Microsoft产品中,看起来还不错…问题是,如果您尝试以编程方

    • 我需要在svg图像上使用滤镜来改变颜色,但它在IE上不起作用。 我看了一下,发现这是因为它不受支持,但我需要另一种方法来做到这一点。我需要更改颜色,填充不是一个选项。有没有办法让过滤器在IE上工作? 滤镜:亮度(0)饱和(100%)反转(100%)棕褐色(0%)饱和(25%)色调-旋转(70度)亮度(108%)对比度(108%);