如何使用Selenium Webdriver 3.0.0修复IE 11上的慢sendkeys?

Sha*_*mie 5 selenium selenium-webdriver selenium-iedriver

Firefox和Chrome工作正常但是使用IE 11,sendkey非常慢.你是如何解决这个问题的?

我的环境:

  • 运行IE 11.103
  • 操作系统Windows 10
  • 我正在使用eclipse(版本:Neon Release(4.6.0))和java 1.8
  • selenium Webdriver 3.0.0

小智 5

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


Sha*_*mie 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);
    
    Run Code Online (Sandbox Code Playgroud)

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


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

  • 这是评论,不是答案。 (2认同)