seleniumselenium-webdrivermicrosoft-edgeselenium-edgedriverimmersive-reader

How to enter Immersive Reader on Microsoft Edge through Selenium?


On a high level, does anyone know how to enter the Immersive Reader mode on Microsoft Edge when it is available for a given webpage through Selenium?

My aim is to load up a page, enter Immersive Reader, and save the page's source code to disk. I'm firing up Edge through Docker and I'm pragmatically connecting to it via a Node.js script.

I've tried driver.actions().sendKeys(KEY.F9), but that doesn't work since I'm targeting the browser and not a DOM element.

Many thanks for all your help.


Solution

  • New

    Just run

    driver.get('read://' + url)
    

    and the site is loaded in immersive reader mode if available.

    Old

    To interact with the UI you have to use pyautogui (pip install pyautogui) and then run this code while the browser window is on focus/active:

    import pyautogui
    pyautogui.press('F9')
    

    It is also useful for example to save a pdf by interacting with the popup window appearing when pressing CTRL+S.