Selenium test with Python in Internet Explorer
Asked Answered
H

4

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()
Hyperaesthesia answered 24/7, 2014 at 4:23 Comment(2)
Here is your answer. #16682669Symptomatic
@m170897017 Ha. Beat me to it!Orangeade
J
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...

Johanajohanan answered 24/7, 2014 at 5:37 Comment(3)
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?Hyperaesthesia
@Hyperaesthesia - This issue is already being discussed hereJohanajohanan
people who are complaining that sendkeys is very slow. Use 32 bit IE.Oria
A
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()
Antonelli answered 26/7, 2017 at 10:58 Comment(0)
O
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.

Orangeade answered 24/7, 2014 at 4:41 Comment(0)
O
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')
Outboard answered 29/9, 2022 at 13:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.