7

Firefox 和 chrome 运行良好,但使用 IE 11,发送键非常慢。你如何解决这个问题?

我的环境:

  • 运行 IE 11.103
  • 操作系统 Windows 10
  • 我在 java 1.8 中使用 eclipse(Version: Neon Release (4.6.0))
  • 硒 Webdriver 3.0.0
4

11 回答 11

6

在我的环境中:WIN 10、selenium 3.4、IE64 我设置:Internet 选项 → 高级 → 安全 → ☑ 为增强保护模式启用 64 位进程

于 2017-05-18T05:14:56.773 回答
3

我通过下载和使用 32 位修复它。帮助我解决的线程

https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/5116

于 2017-05-17T14:06:20.400 回答
3

经过大量的在线阅读和实验

  1. 我必须将路径设置为指向我的网络驱动程序右键单击我的计算机,然后选择“高级系统设置”,然后单击“环境变量”,然后选择“路径”并单击编辑。现在将路径添加到您的 IEDriverServer.exe,例如我的路径是“C:\eclipse\webdriver\IEDriverServer.exe”。我建议重新启动你的电脑

  2. 必须运行 32 位 IE WEB 驱动 http://selenium-release.storage.googleapis.com/index.html 我下载的是 3.0

  3. 现在,这是让我的世界变得与众不同的黄金部分。将您的 IE 设置为以管理员身份运行。右键单击IE快捷方式并选择选项,在快捷方式选项卡下单击高级按钮,然后选中复选框“以管理员身份运行”。现在重启IE

  4. 打开 IE 后,依次转到工具、Internet 选项和安全选项卡。我已取消选中本地 Intranet 和受信任站点上的“启用保护模式”。重启 IE

  5. 我使用了以下所需的功能(我在互联网上找到了这个)

        DesiredCapabilities dc = new DesiredCapabilities();
    dc.setCapability(InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING,false);
    dc.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS, false);
    dc.setCapability(InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR, true);
    dc.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); 
    dc.setJavascriptEnabled(true);  
    
    WebDriver driver = new InternetExplorerDriver(dc);
    

这在我的环境中有效,请发布对您有用的内容


注意:在此之后我正在试验 64 位驱动程序。如果我制作了(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS,true),那么它可以正常工作。在 junit 中,断言失败,但我能够在第一页使用发送键。

于 2016-11-16T08:49:29.303 回答
1

我一直在使用 selenium 库开发 IE11:selenium-server-standalone-3.141.59.jar 并有以下发现:

在 Window 10 64 位版本 IE 11 版本 11.431.16299,更新版本 11.0.65(KB4103765) 它可以与 IEDriverServer.exe(64 位版本)一起正常工作,无需额外设置功能。可以输入句号(1 秒内输入 6 个字符)

在 Window 10 64 位版本上 IE 11 版本 11.15.16299.0 更新版本 11.0.47 KB4040685 使用 IEDriverServer.exe(64 位版本)运行速度很慢要输入 6 个字符的字符串,每个字符需要 3-4 秒才能完成。为了解决这个问题,我测试的以下编码对我来说很好。

InternetExplorerOptions options = new InternetExplorerOptions();
options.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS, true);

在 Window 7 Professional 32 位版本 IE 11 版本 11.0.9600.18499,更新版本 11.0.36(KB3191495) 与 IEDriverServer.exe(32 位版本)一起工作正常。键入时间是可以接受的。(1秒内6个字符)无需额外设置

于 2018-12-31T07:05:49.917 回答
1

更好的解决方案:

请注意:在执行此解决方案之前,我已经重置了所有 IE 设置,同样在我的第一个答案中,我运行的是旧版本的 IE 驱动程序。

  1. 下载最新的 IE 驱动 - 我已经下载了 3.4 32 位版本(我测试时 64 位仍然很慢) http://selenium-release.storage.googleapis.com/index.html?path=3.4/

  2. 您将需要更改您的 IE 设置 2.1 转到工具 -> Internet 选项 -> 安全。将所有区域设置为相同的保护模式,启用或禁用都无关紧要。像这样: http ://seleniumquery.github.io/images/ie-driver-protected-mode-disable.png

  3. 现在在你的代码中添加这个:

    public static void runInternetExplorer() {
    
    System.setProperty("webdriver.ie.driver", "C:\\eclipse\\webdriver\\IE\\IEDriverServer.exe");
    
    WebDriver webDriver = new InternetExplorerDriver();
    new browser (webDriver);
    

    }

当我运行它时,它运行得非常好。如果这个解决方案不起作用,我已经留下了我之前的答案。

于 2017-05-24T12:52:02.097 回答
0

在 IE11 中,在重放测试时在文本字段(发送键)中键入数据太慢。

以下是系统信息。IEDriver – 64 位,操作系统 – windows7 64 位,IE10 – 64 位

注意:我遇到了同样的问题,我的问题已解决重新安装IEDriver – 32 位,它与 32 位 IE 驱动程序一起工作正常。

于 2018-09-19T06:28:40.990 回答
0

发行说明 v2.47.0.1:

  • 为 IE 中的 cookie 操作启用快速失败。IE 驱动程序的 cookie 处理重构引入了与 64 位 IE 驱动程序以及在 64 位 Windows 上运行的 IE 10 和 11 的不兼容。与发送击键和创建屏幕截图一样,Windows 挂钩程序现在用于在 IE 中获取和设置 cookie。这意味着在 64 位 Windows 上的 IE 10 和 11 中,内容呈现过程仍然是 32 位,您 必须使用 32 位 IEDriverServer.exe 才能操作 cookie。如果您尝试使用 64 位驱动程序针对 32 位版本的 IE(反之亦然)设置或获取 cookie,此提交现在将导致抛出异常,但特别是,这将影响错误尝试使用的用户64 位 Windows 中带有 IE 10 或 11 的 64 位可执行文件。

https://raw.githubusercontent.com/SeleniumHQ/selenium/master/cpp/iedriverserver/CHANGELOG

所以你应该使用 32 位或内容渲染需要更改为 64 位

于 2017-09-18T09:07:07.643 回答
0

我改为 IEDriver 32 位(从 64 位)为我解决了这个问题。IE 11、Windows 7、Selenium 3.4。

于 2017-12-14T00:40:45.177 回答
0

为使用 Python 3.6 和 Selenium 3.14 的开发人员发布此解决方案。

在我的情况下,相关的 IE 设置被组策略锁定,因此任何需要更改 IE 设置的解决方案都是不可行的。

在我的特定环境(Windows 7 x64、IE 11.0.9600 锁定、Python 3.6、Selenium 3.14.1)中,只有 1 个选项设置需要更改以修复慢速发送键:

from selenium import webdriver
from selenium.webdriver.ie.options import Options

opts = Options()
opts.require_window_focus = True

driver = webdriver.Ie(options=opts)
于 2018-10-31T03:03:14.277 回答
0

注释rubywebdiriver版本3+

文档中有带有 IE 参数的示例native_events,即使它是在控制台开始时编写的。

实际上正确的参数名称是nativeEvent.

设置nativeEvent = false
webdriver 将使用快速 JS 代替慢速原生点击模拟。

于 2017-05-20T18:51:21.247 回答
0

IE 11 在 Windows 8.1 VM 上运行缓慢,我正在运行 IEDriverServer.exe 3.5.1.0 (x32),我通过更改为 IEDriverServer.exe 3.5.1.0 (x64) 进行了修复。注意:3.4.0.0 没有解决这个问题。nativeEvents: false 没有改变任何东西。驱动程序在我的 PATH 中,不知道如果不是会发生什么。

于 2017-09-28T15:23:00.970 回答