Selenium: Automate Internet explorer apps using Edge

Ashish JaiswarAshish Jaiswar
2 min read

Introduction

Automating Internet explorer is hard nowadays because internet explorer has been retired by Microsoft on June 15, 2022. Most of the organization are still dependent on legacy application which are only supported by internet explorer. Here i will show you how you can automate edge in IE mode to automate legacy applications using python and selenium.

What is IE Mode?

Microsoft provides a special feature in Edge browser called IE mode. Using IE mode you can switch between internet explorer mode and Edge mode. This mode feels exactly same as internet explorer.

Challenges

  • You cannot use EgdeDriver to automate the Edge browser in IE mode.
  • You cannot inspect code in IE mode
  • Sometimes code gets stuck or selenium doesn't work

So without any further due let's get into the solution.

Requirements

  • Python version 3.7 and above
  • Selenium package version 4.4.0 or above
  • Internet explorer driver i.e. IEDriverServer version 4.3.0.0 or above — download from here.

IE Debugger

Edge does not allow to launch devtools in IE mode. So use the below steps to launch IEChooser. To debug the content of an IE mode tab, use to open Internet Explorer DevTools, as follows:

  • In Windows, open the Run dialog box. For example, press the Windows logo key + R.
  • Enter %systemroot%\system32\f12\IEChooser.exe, and then click OK.
  • In IEChooser, select the entry for the IE mode tab.

Folder Structure

Folder
    L  app.py
    L IEDriverServer.exe

Install Package

pip install selenium==4.4.0

Code Snippets

from selenium import webdriver

class App:
    def __init__(self) -> None:
        ie_options = webdriver.IeOptions()
        ie_options.attach_to_edge_chrome = True
        ie_options.ignore_zoom_level = True
        # Add the path of microsoft edge executable in the below line of code
        ie_options.edge_executable_path = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
        driver_path = "IEDriverServer.exe" 
        Service(executable=driver_path)
        self.driver = webdriver.Ie(options=ie_options)

    def test(self):
        driver.get("https://www.google.com")
        driver.find_element_by_id("input").send_keys("Medium")
        print("Success")

    def quit(self):
        self.driver.quit()


app = App()
app.test()
app.quit()

This is how we have to configure python selenium script so that we can automate Edge in IE mode. Hope this blog will help you in your automation journey.

If you have any query/suggetions/feedback please connect with me on twitter

Meet you on the next blog.

0
Subscribe to my newsletter

Read articles from Ashish Jaiswar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ashish Jaiswar
Ashish Jaiswar

I am a developer from Mumbai, India. Experienced in web development. I love building with web apps.