Beim Scraping mit Selenium usw. funktioniert es möglicherweise nicht, wenn die Version von WebDriver unterschiedlich ist. Daher habe ich nach einem Modul gesucht, das ohne Erlaubnis mit der Version übereinstimmt.
pip install chromedriver-autoinstaller
Zum ausgeführten Code hinzufügen
from selenium import webdriver
import chromedriver_autoinstaller
chromedriver_autoinstaller.install()
Überprüfen Sie, ob die richtige Version von chromedriver vorhanden ist, und installieren Sie gegebenenfalls die richtige 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 Es scheint, dass die neueste binäre Version von chromedriver automatisch heruntergeladen und installiert wird.
pip install chromedriver-py
Durch Hinzufügen von from chromedriver_py import binary_path
wird der Chrome-Treiberpfad binary_path
zugewiesen
Es scheint, dass es automatisch auf die neueste Version aktualisiert wird
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 Ausgelassen, weil es schwierig zu sein scheint, etwas zu lesen
pip install chromedriver_installer \
--install-option="--chromedriver-version=2.10"
Die Funktion zum Installieren des Treibers und zum Übergeben des Pfads wie folgt Einfach
Firefox geckodriver-autoinstaller Ein Skript, das den Geckotreiber automatisch installiert
pip install geckodriver-autoinstaller
Fügen Sie dem zu verwendenden Code import geckodriver_autoinstaller
hinzu und geckodriver_autoinstaller.install ()
Hinzufügen
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
Überprüfen Sie, ob die richtige Version von geckodriver vorhanden ist, und installieren Sie gegebenenfalls die richtige 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 Ein Skript, das stündlich automatisch nach Updates für den Geckotreiber sucht und diesen installiert
pip install pygeckodriver
Durch Hinzufügen von "pygeckodriver import geckodriver_path" wird der geckodriver-Pfad in "geckodriver_path" eingefügt
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
#Installieren Sie den FIrefox-Treiber
path = driver.install(browser=driver.firefox)
print('Der Pfad des installierten Geckodriver-Treibers lautet: %s' % path)
Lädt den Treiber für den angegebenen Browser herunter und gibt den Zielpfad zurück
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 ist experimenteller Code, daher scheint es besser, die Version anzugeben
Webdriver Manager for Python Skripte, die die Verwaltung von Treibern für verschiedene Browser erleichtern
pip install webdriver_manager
Bis jetzt habe ich den Treiber jedes Mal von Hand heruntergeladen, wenn es ein Update gab, und in Chrome habe ich den Pfad usw. wie folgt festgelegt
Bisher
webdriver.Chrome('/home/user/drivers/chromedriver')
ChromeDriverManager(path=custom_path).install()
Stattdessen
Chrome
from webdriver_manager.chrome import ChromeDriverManager
webdriver.Chrome(ChromeDriverManager().install())
Es sieht aus wie das 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())
CLI-Tool zur Verwaltung von Webtreibern?
pip install webdriver_controller
webdriver_controller [-h] {download,cleanup,list,start} ...
Webdriver controller
positional arguments:
{download,cleanup,list,start}
download Laden Sie die Webdriver-Binärdatei herunter
Entfernen Sie die Bereinigungs-Webdriver-Binärdatei
Liste Zeigt die Liste der heruntergeladenen Webdrivers an
Starten Sie Start Selenium
optional arguments:
-h, --help Diese Hilfemeldung(Original)Show
pip install webdriverdownloader
Firefox
Firedox
from webdriverdownloader import GeckoDriverDownloader
#Installieren Sie die neueste Version
gdd = GeckoDriverDownloader()
# v0.20.Installieren Sie Version 0
gdd.download_and_install("v0.20.0")
Chrome
Chrome
from webdriverdownloader import ChromeDriverDownloader
#Installieren Sie die neueste Version
gdd = ChromeDriverDownloader()
# v0.20.Installieren Sie Version 0
gdd.download_and_install("v0.20.0")
Opera (Chrombasis)
Opera(Chrombasis)
from webdriverdownloader import OperaChromiumDriverDownloader
#Installieren Sie die neueste Version
gdd = OperaChromiumDriverDownloader()
# v0.20.Installieren Sie Version 0
gdd.download_and_install("v0.20.0")
webdriverdownloader browser:version
Bei der Installation von 2.38 von Chrome, der neuesten Version von Firefox, v2.35 von Opera
example
webdriverdownloader chrome:2.38 firefox opera:v.2.35
Ein Skript, das automatisch die neueste Version (oder eine bestimmte Version) der WebDriver-Binärdatei sucht, herunterlädt und in Ihren Pfad einfügt Gleiche Verwendung wie der derzeitige Webdriver-Downloader (2020/3/12)
pip install webdrivermanager
Firefox
Firedox
from webdriverdownloader import GeckoDriverDownloader
#Installieren Sie die neueste Version
gdd = GeckoDriverDownloader()
# v0.20.Installieren Sie Version 0
gdd.download_and_install("v0.20.0")
Chrome
Chrome
from webdriverdownloader import ChromeDriverDownloader
#Installieren Sie die neueste Version
gdd = ChromeDriverDownloader()
# v0.20.Installieren Sie Version 0
gdd.download_and_install("v0.20.0")
Opera (Chrombasis)
Opera(Chrombasis)
from webdriverdownloader import OperaChromiumDriverDownloader
#Installieren Sie die neueste Version
gdd = OperaChromiumDriverDownloader()
# v0.20.Installieren Sie Version 0
gdd.download_and_install("v0.20.0")
webdriverdownloader browser:version
Wenn Sie 2.38 von Chrome installiert haben, die neueste Version von Firefox, v2.35 von Opera
example
webdriverdownloader chrome:2.38 firefox opera:v.2.35
Recommended Posts