How to fix the slow sendkeys on IE 11 with Selenium Webdriver 3.0.0?
Asked Answered
O

11

7

Firefox and chrome is working fine but with IE 11, the sendkeys are extremely slow. How do you fix this issue ?

My Environment:

  • Running IE 11.103
  • Operating System Windows 10
  • I'm using eclipse(Version: Neon Release (4.6.0)) with java 1.8
  • selenium Webdriver 3.0.0
Otis answered 16/11, 2016 at 8:1 Comment(2)
So what is your issue? You should ask a question, but not provide a solution. If you find something useful, you can ask a question and give an answer on your own questionLatif
I have corrected this post by asking a question and the answering it. The post should make sense nowOtis
S
6

In my environment: WIN 10, selenium 3.4, IE64 I set: Internet Options → Advanced → Security → ☑ Enable 64-bit processes for Enhanced Protected Mode

Salomie answered 18/5, 2017 at 5:14 Comment(1)
Although this works but it freezes the browser with error a problem with this webpage caused internet explorer to close and reopen the tabAugmentation
O
3

After a lot of reading online and experimenting

  1. I had to set my path to point to my web-driver Right Click on my Computer , then select "Advanced system settings", then click "Environment Variables", then select "Path" and click on edit. Now add the path to your IEDriverServer.exe, for example mine was "C:\eclipse\webdriver\IEDriverServer.exe". I would recommend restart your pc

  2. You must run the 32 bit IE WEB driver http://selenium-release.storage.googleapis.com/index.html I downloaded 3.0

  3. Now here is the piece of gold part that made the world of a difference to me. Set your IE to run as administrator. Right click on IE shortcut and select options, under Shortcut tab click on advanced button then check checkbox "run as administrator". Now Restart IE

  4. When you open IE , then go to tools, then Internet options and then security tab. I have unchecked "Enable Protected Mode" on Local intranet and trusted sites. Restart IE

  5. I used the following Desired Capabilities(I found this on the internet)

        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);
    

This worked in my environment please post what has worked for you


Take note: After this I was experimenting with the 64 bit driver. If I made the (InternetExplorerDriver.REQUIRE_WINDOW_FOCUS, true), then it works sort off. In junit the assertion fails but I was able to use send key on the first page.

Otis answered 16/11, 2016 at 8:49 Comment(5)
This is a comment, not an answer.Decurrent
I have corrected this post by asking a question and the answering it. The post will make sense nowOtis
This answer has several pieces of bad advice in it (run browser as administrator, use INTRODUCE_FLAKINESS capability, and so on). I cannot endorse it in any way.Windhoek
Thanks for the feedback. This was the only way I got IE up and running in my environment, not saying at all it a good solution but it is a solution.Otis
I have added new answer which I believe is much cleaner and doesn't require changing so many settings. Please see "better solution" on this pageOtis
A
3

I fixed it by downloading and using a 32bit one. The thread that helped me resolve

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

Axseed answered 17/5, 2017 at 14:6 Comment(1)
I also fixed it with the 32 bit driverBigmouth
O
1

Better Solution:

Take note: I have reset all my IE settings before doing this solution, also in my first answer I was running a much older version of IE driver.

  1. Download the latest IE driver - I have downloaded version 3.4 32 bit (the 64 bit was still slow when I was testing it) http://selenium-release.storage.googleapis.com/index.html?path=3.4/

  2. You will need to change your IE settings 2.1 Go to Tools -> Internet Options -> Security. Set all zones to the same protected mode, enabled or disabled should not matter. Like this: http://seleniumquery.github.io/images/ie-driver-protected-mode-disable.png

  3. Now in you code add this:

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

    }

When I run this, it run very nicely. I have left my previous answer if this solution isn't working.

Otis answered 24/5, 2017 at 12:52 Comment(2)
"Set all zones to the same protected mode, enabled or disabled should not matter". I had to set all to disable and then it seems to work again on IEOtis
I've tried all the suggestions on this page. I'm unable to get SendKeys to go faster. I have Windows 7 (running in Virtual Machine), 64-bit, IE 11 (64-bit). I believe I've installed all IE 11 Cumulative Updates and all Windows Updates. I've tried IEDriverServer,exe: x64_3.8.0, Win32_3.8.0, Win32_3.5.0, Run as Admin (on and off), Enabled Protected Mode (on, off). Any additional suggestions?Snicker
B
1

I have been working on IE11 with selenium library: selenium-server-standalone-3.141.59.jar and have following finding:

On Window 10 64 bit version IE 11 version 11.431.16299, updated version 11.0.65(KB4103765) It works fine with IEDriverServer.exe (64 bit version) no need extra setting on capability. Key in period is acceptable(for 6 characters within 1 sec)

On Window 10 64 bit version IE 11 version 11.15.16299.0 updated version 11.0.47 KB4040685 It works very slow with IEDriverServer.exe (64 bit version) To enter a 6 characters string, every character needs 3-4 secs to completed. To solve the problem, the following coding I tested works fine for me.

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

On Window 7 Professional 32 bit version IE 11 version 11.0.9600.18499, updated version 11.0.36(KB3191495) It works fine with IEDriverServer.exe (32 bit version). Keyin period is acceptable.(6 characters within a sec) No extra setting is needed

Bargeboard answered 31/12, 2018 at 7:5 Comment(0)
C
0

A note for ruby and webdiriver version 3+

The documentation has examples with native_events IE parameter, even it is written in console at the start point.

Actually the right parameter name is nativeEvent.

Set nativeEvent = false,
and webdriver will use fast JS instead off a slow native click simulation.

Crowley answered 20/5, 2017 at 18:51 Comment(0)
T
0

Release note v2.47.0.1:

  • Enabled fast failure for cookie manipulation in IE. The refactor of cookie handling for the IE driver introduces an incompatibility with the 64-bit IE driver and IE 10 and 11 running on 64-bit Windows. As is the case with sending keystrokes and creating screenshots, a Windows hook procedure is now used for getting and settingcookies in IE. That means that in IE 10 and 11 on 64-bit Windows, where the content rendering process is still 32-bit, you must use the 32-bit IEDriverServer.exe in order to manipulate cookies. This commit will now cause exceptions to be thrown if you attempt to set or get cookies using the 64-bit driver against a 32-bit version of IE (or vice versa), but in particular, this will affect users who mistakenly try to use the 64-bit executable with IE 10 or 11 in 64-bit Windows.

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

So you should use 32 bit or the content rendering needs to be changed to 64 bit

Tranquillize answered 18/9, 2017 at 9:7 Comment(0)
F
0

IE 11 was running slow on a Windows 8.1 VM, I was running IEDriverServer.exe 3.5.1.0 (x32), I fixed by changing to IEDriverServer.exe 3.5.1.0 (x64). Note: 3.4.0.0 does not fix this issue. nativeEvents: false did not change anything. The driver is in my PATH, not sure what happens if it's not.

Footloose answered 28/9, 2017 at 15:23 Comment(0)
G
0

I changed to IEDriver 32 bit (from 64 bits) solved this problem for me. IE 11, Windows 7, Selenium 3.4.

Grammarian answered 14/12, 2017 at 0:40 Comment(0)
S
0

In IE11 Typing data in text fields(send key) is too slow while replaying tests.

Following is systems information. IEDriver – 64 bit, OS – windows7 64 bit, IE10 – 64 bit

Note: I face the same issue and my issue was resolved to re-install IEDriver – 32 bit, it is working fine with 32-bit IE driver.

Spaceband answered 19/9, 2018 at 6:28 Comment(0)
I
0

Posting this solution for developers using Python 3.6 and Selenium 3.14.

In my case the relevant IE settings are locked down by group policy so any solution requiring changes to IE settings is unworkable.

There was only 1 option setting that needed to be changed to fix slow sendkeys in my specific environment (Windows 7 x64, IE 11.0.9600 locked down, Python 3.6, Selenium 3.14.1):

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

opts = Options()
opts.require_window_focus = True

driver = webdriver.Ie(options=opts)
Instigate answered 31/10, 2018 at 3:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.