11

I have written a script that opens a web browser using python and Selenium. It works fine with Firefox using the following code:

from selenium import webdriver
driver = webdriver.Firefox()

When I replace Firefox with IE (the suggested value when I start typing), I get the message IEDriver executable needs to be available in the path.

from selenium import webdriver
driver = webdriver.IE()
Ripon Al Wasim
  • 36,924
  • 42
  • 155
  • 176
user2242044
  • 8,803
  • 25
  • 97
  • 164

4 Answers4

24
  1. Download IE Drivers based on your OS (Windows 32 or 64 bit)

    a. Download Windows 32 bits driver

    OR

    b. Download Windows 64 bits driver

  2. Extract the zip and copy IEDriverServer.exe file to some location e.g. E:\IEDriver

  3. Write the following script

    from selenium import webdriver
    browser = webdriver.Ie("e:\\IEDriver\\IEDriverServer.exe")
    
  4. Run the script, it should open IE browser...

Ripon Al Wasim
  • 36,924
  • 42
  • 155
  • 176
Abhishek Kulkarni
  • 3,693
  • 8
  • 35
  • 42
  • This worked, but the text entering on IE is incredibly slow (1 character per 4 seconds). I am using 64 bit IE with 64 or 32 IEDriverServer. I also tried using an IE tab plugin for Firefox, but Selenium seems to disable add-ins. Anyway to prevent this? – user2242044 Jul 24 '14 at 16:52
  • @user2242044 - This issue is already being discussed [here](https://code.google.com/p/selenium/issues/detail?id=5116) – Abhishek Kulkarni Jul 25 '14 at 05:28
  • people who are complaining that sendkeys is very slow. Use 32 bit IE. – Prometheus Sep 27 '19 at 05:22
5

Selenium with Python bindings in IE:

There are 2 ways to run Selenium python tests in Internet Explorer. I'm considering Windows (Windows 10 in my case):

Prerequisite: Download IE Driver based on your OS from the site: http://docs.seleniumhq.org/download/

32 bit Windows IE

64 bit Windows IE

Way 1:

i) Extract the downloaded zip file in a directory/location of your choice
ii) Set the executable path in your code as below:

self.driver = webdriver.Ie(executable_path='D:\Selenium_RiponAlWasim\Drivers\IEDriverServer_x64_2.42.0\IEDriverServer.exe')

OR,

self.driver = webdriver.Ie("D:\\Selenium_RiponAlWasim\\Drivers\IEDriverServer_x64_2.42.0\\IEDriverServer.exe")

Way 2:

i) Simply paste the IEDriverServer.exe under /Python/Scripts/ (In my case the folder was: C:\Python36\Scripts)
ii) Now write the simple code as below:

self.driver = webdriver.Ie()
Ripon Al Wasim
  • 36,924
  • 42
  • 155
  • 176
1

It means exactly that. Selenium needs the executable to work with IE.
A quick google search led me to this. You need to download the executable and place it somewhere visible. Also, taking a look at this should help clear some things about PATH variables.

Kasisnu
  • 239
  • 5
  • 16
1

In selenium 4 you would need to use service method otherwise you would get depreciated error: You no longer need to download IE driver. Here are compatible codes for Selenium 4.x IE:

# Internet Explorer Browser version
from selenium import webdriver
from selenium.webdriver.ie.service import Service
from webdriver_manager.microsoft import IEDriverManager
driver = webdriver.Ie(service=Service(executable_path=IEDriverManager().install()))

driver.get('https://www.google.com')
Sean
  • 680
  • 7
  • 10