1

Linux Problem on Webdriver Manager Python

Details:

System - Manjaro Linux IDE: Visueal Studio Code

Currently, I used the Webdriver Manager tutorial in Python to make my work easier. But IE and Edge are giving me problems.

The Integration:

from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager

driver = webdriver.Edge(EdgeChromiumDriverManager().install())

Chromium,Chrome and Firefox to some extent, but there I found a workaround that works thanks to Stackoverflow.

When running Edge on Manjaro Linux I get the following error:

ValueError: There is no such driver by url https://msedgedriver.azureedge.net/91.0.864.70/edgedriver_linux64.zip
[WDM] - ====== WebDriver manager ======
[WDM] - There is no [linux64] edgedriver for browser  in cache
[WDM] - Trying to download new driver from https://msedgedriver.azureedge.net/91.0.864.70/edgedriver_linux64.zip

So the question is, is there currently no webdriver for Linux that allows to test IE/Edge on Linux as well?

Is there a workaround?

Ismael Padilla
  • 5,246
  • 4
  • 23
  • 35
Mornon
  • 59
  • 5
  • 22
  • So that's the question, is it that clear? Because there are also webdrivers for Linux and IE/Edge. – Mornon Jul 20 '21 at 09:12
  • It is a not well implemented feature in webdriver_manager for finding Edge version on linux. It's a known issue, should be fixed soon. You can track this issue here https://github.com/SergeyPirogov/webdriver_manager/issues/243 – gore Oct 16 '21 at 08:34
  • Fix has come in 3.5.1 right now! Try >=3.5.1 version of webdriver-manager. – gore Oct 16 '21 at 10:47

2 Answers2

2

Version you try to download - missing on the server. Try change url for download. You can check all verions here.

For example you can install valid driver ( other version ) from this url:

https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/92.0.878.0/edgedriver_linux64.zip 

Or change code to (specify neeeded and valid version to installation):

from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager
    
driver = webdriver.Edge(EdgeChromiumDriverManager(version="92.0.878.0").install())
Feuermann
  • 334
  • 2
  • 6
  • Thatś really helpful ! Thank you! – Mornon Jul 20 '21 at 09:50
  • Get the same error with this sources and try to add some other Edge Webdriver. i tested different Edge driver. driver = webdriver.Edge(EdgeChromiumDriverManager(latest_release_url="https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/92.0.878.0/").install()) Based on that. But nothig works :( – Mornon Jul 20 '21 at 10:05
  • 1
    My wrong, i upd. to valid code. You only need specify valid version. – Feuermann Jul 20 '21 at 10:21
  • Thanks Feuerwehrmann! Now it works but with some other issue :) Now MS wants the right permission to download. selenium.common.exceptions.WebDriverException: Message: 'msedgedriver' executable may have wrong permissions. Please download from http://go.microsoft.com/fwlink/?LinkId=619687 any idea? – Mornon Jul 20 '21 at 11:49
  • 1
    File don't have `executable` permissions. You can fix it manualy with `chmod +x /here_is/your/driver/path`. But, in generaly problem in library ( after unpacking in python, file doesn't receive needed flags for execution ) – Feuermann Jul 20 '21 at 13:02
  • 1
    `executable` permissions are fixed in webdriver-manager==3.5.1. Release was today. – gore Oct 16 '21 at 10:46
1

Try webdriver-manager>=3.5.1.

Selecting EdgeDriver on Linux and executable permissions were fixed in 3.5.1.

Released to pypi today https://pypi.org/project/webdriver-manager/3.5.1/

gore
  • 551
  • 2
  • 20