Lors du scraping avec Selenium, etc., cela peut ne pas fonctionner si la version de WebDriver est différente, j'ai donc recherché un module qui correspondrait à la version sans autorisation.
pip install chromedriver-autoinstaller
Ajouter au code qui s'exécute
from selenium import webdriver
import chromedriver_autoinstaller
chromedriver_autoinstaller.install()
Vérifiez si la bonne version de chromedriver existe et sinon, installez la bonne version
def install(cwd=False):
"""
Appends the directory of the chromedriver binary file to PATH.
:param cwd: Flag indicating whether to download to current working directory
:return: The file path of chromedriver
"""
def get_chrome_version():
"""
Get installed version of chrome on client
:return: The version of chrome
"""
chromedriver-py Il semble que la dernière version binaire de chromedriver soit automatiquement téléchargée et installée.
pip install chromedriver-py
L'ajout de from chromedriver_py import binary_path '' attribuera le chemin du pilote Chrome à
binary_path ''
Il semble qu'il sera automatiquement mis à jour vers la dernière version
from selenium import webdriver
from chromedriver_py import binary_path # this will get you the path variable
driver = webdriver.Chrome(executable_path=binary_path)
driver.get("http://www.python.org")
assert "Python" in driver.title
ChromeDriver Installer for Python Omis car il semble difficile de lire quelque chose
pip install chromedriver_installer \
--install-option="--chromedriver-version=2.10"
La fonction pour installer le pilote et passer le chemin comme ceci Simple
Firefox geckodriver-autoinstaller Un script qui installe automatiquement le pilote gecko
pip install geckodriver-autoinstaller
Ajoutez ```import geckodriver_autoinstallerau code que vous voulez utiliser
geckodriver_autoinstaller.install () ``
Ajouter
from selenium import webdriver
import geckodriver_autoinstaller
geckodriver_autoinstaller.install()
# Check if the current version of geckodriver exists
# and if it doesn't exist, download it automatically,
# then add geckodriver to path
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
Vérifiez si la bonne version de geckodriver existe et sinon, installez la bonne version
def install(cwd=False):
"""
Appends the directory of the geckodriver binary file to PATH.
:param cwd: Flag indicating whether to download to current working directory
:return: The file path of geckodriver
"""
def get_firefox_version():
"""
Get installed version of chrome on client
:return: The version of chrome
"""
pygeckodriver Un script qui vérifie automatiquement toutes les heures les mises à jour du pilote gecko et l'installe
pip install pygeckodriver
L'ajout de pygeckodriver import geckodriver_path
placera le chemin de geckodriver dans geckodriver_path
from selenium import webdriver
from pygeckodriver import geckodriver_path
bs = webdriver.Firefox(executable_path=geckodriver_path)
bs.get('https://www.pypi.org')
pip install pyderman
import pyderman as driver
#Installer le pilote FIrefox
path = driver.install(browser=driver.firefox)
print('Le chemin du pilote geckodriver installé est: %s' % path)
Télécharge le pilote pour le navigateur spécifié et renvoie le chemin de destination
def install(browser=None, file_directory='./lib/', verbose=True, chmod=True, overwrite=False, version='latest', filename=None, return_info=False):
"""
Downloads the given browser driver, and returns the path it was saved to.
:param browser: The Driver to download. Pass as `pyderman.chrome/firefox`. Default Chrome.
:param file_directory: The directory to save the driver.
:param verbose: If printouts are okay during downloading.
:param chmod: If True, attempt to make the downloaded driver executable.
:param overwrite: If true, overwrite existing drivers of the same version.
:param version: The version to download. Default 'latest'.
:param filename: The filename to save the driver to. Defaults to driver-specific.
:param return_info: If True, return an Object with more download information.
:return: The absolute path of the downloaded driver, or None if something failed.
"""
Edge est du code expérimental, il semble donc préférable de spécifier la version
Webdriver Manager for Python Des scripts qui facilitent la gestion des pilotes pour différents navigateurs
pip install webdriver_manager
Jusqu'à présent, j'ai téléchargé le pilote à la main à chaque fois qu'il y avait une mise à jour, et dans Chrome, j'ai défini le chemin, etc. comme suit
Jusque là
webdriver.Chrome('/home/user/drivers/chromedriver')
ChromeDriverManager(path=custom_path).install()
Au lieu
Chrome
from webdriver_manager.chrome import ChromeDriverManager
webdriver.Chrome(ChromeDriverManager().install())
Ça ressemble à ça Firefox
Firefox
from webdriver_manager.firefox import GeckoDriverManager
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
IE
IE
from webdriver_manager.microsoft import IEDriverManager
driver = webdriver.Ie(IEDriverManager().install())
Opera
Opera
from webdriver_manager.opera import OperaDriverManager
driver = webdriver.Opera(executable_path=OperaDriverManager().install())
Outil CLI pour gérer les pilotes Web?
pip install webdriver_controller
webdriver_controller [-h] {download,cleanup,list,start} ...
Webdriver controller
positional arguments:
{download,cleanup,list,start}
télécharger Télécharger le binaire Webdriver
Supprimer le binaire Webdriver de nettoyage
list Afficher la liste des Webdrivers téléchargés
démarrer Démarrer Selenium
optional arguments:
-h, --help Ce message d'aide(Original)Spectacle
pip install webdriverdownloader
Firefox
Firedox
from webdriverdownloader import GeckoDriverDownloader
#Installez la dernière version
gdd = GeckoDriverDownloader()
# v0.20.Installer la version 0
gdd.download_and_install("v0.20.0")
Chrome
Chrome
from webdriverdownloader import ChromeDriverDownloader
#Installez la dernière version
gdd = ChromeDriverDownloader()
# v0.20.Installer la version 0
gdd.download_and_install("v0.20.0")
Opera (base de chrome)
Opera(Base de chrome)
from webdriverdownloader import OperaChromiumDriverDownloader
#Installez la dernière version
gdd = OperaChromiumDriverDownloader()
# v0.20.Installer la version 0
gdd.download_and_install("v0.20.0")
webdriverdownloader browser:version
Lors de l'installation de la version 2.38 de Chrome, la dernière version de Firefox, la v2.35 de l'opéra
example
webdriverdownloader chrome:2.38 firefox opera:v.2.35
Un script qui recherche et télécharge automatiquement la dernière version (ou version spécifique) du binaire WebDriver et la place dans votre chemin Même utilisation que le téléchargeur Webdriver actuellement (2020/3/12)
pip install webdrivermanager
Firefox
Firedox
from webdriverdownloader import GeckoDriverDownloader
#Installez la dernière version
gdd = GeckoDriverDownloader()
# v0.20.Installer la version 0
gdd.download_and_install("v0.20.0")
Chrome
Chrome
from webdriverdownloader import ChromeDriverDownloader
#Installez la dernière version
gdd = ChromeDriverDownloader()
# v0.20.Installer la version 0
gdd.download_and_install("v0.20.0")
Opera (base de chrome)
Opera(Base de chrome)
from webdriverdownloader import OperaChromiumDriverDownloader
#Installez la dernière version
gdd = OperaChromiumDriverDownloader()
# v0.20.Installer la version 0
gdd.download_and_install("v0.20.0")
webdriverdownloader browser:version
Si vous avez installé 2.38 de Chrome, la dernière version de Firefox, v2.35 de l'opéra
example
webdriverdownloader chrome:2.38 firefox opera:v.2.35
Recommended Posts