Автоматическая c загрузка соответствующей хромированной драйвера для Selenium в Python - PullRequest
0 голосов
/ 26 мая 2020

К сожалению, Chromedriver всегда зависит от версии c установленной вами версии Chrome. Поэтому, когда вы упаковываете свой код python И хромированный драйвер через PyInstaller в развертываемый .exe-файл для Windows, он не будет работать в большинстве случаев, так как вы не сможете иметь все версии хромированных драйверов в .exe- файл.

Кто-нибудь знает способ, как автоматически загрузить правильный хромированный драйвер с веб-сайта?

Если нет, я придумаю код для загрузки zip-файла и его распаковки на темп.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 26 мая 2020

Webdriver Manager сделает это за вас. обратитесь по этой ссылке https://pypi.org/project/webdriver-manager/

1 голос
/ 26 мая 2020

Вот другое решение, где webdriver_manager не поддерживает. Этот скрипт загрузит последнюю chrome версию драйвера.

import requests
import wget
import zipfile
import os

# get the latest chrome driver version number
url = 'https://chromedriver.storage.googleapis.com/LATEST_RELEASE'
response = requests.get(url)
version_number = response.text

# build the donwload url
download_url = "https://chromedriver.storage.googleapis.com/" + version_number +"/chromedriver_win32.zip"

# download the zip file using the url built above
latest_driver_zip = wget.download(download_url,'chromedriver.zip')

# extract the zip file
with zipfile.ZipFile(latest_driver_zip, 'r') as zip_ref:
    zip_ref.extractall() # you can specify the destination folder path here
# delete the zip file downloaded above
os.remove(latest_driver_zip)
...