Konfigurieren Sie eine Selenium-Umgebung basierend auf Linux und implementieren Sie den Betrieb

Konfigurieren Sie eine Selenium-Umgebung basierend auf Linux und implementieren Sie den Betrieb

1. Selenium unter Linux verwenden

1. Installieren Sie Chrome

Installieren Sie Google Chrome mit dem folgenden Befehl

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

Sie können es auch lokal herunterladen und dann installieren

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum installiere ./google-chrome-stable_current_x86_64.rpm

Installieren Sie die erforderlichen Bibliotheken

yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts

2. Installieren Sie Chromedriver (die entsprechenden Versionen von Chrome und Chromedriver sind am Ende angehängt)

offizielle Chrome-Website

wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip

Taobao-Quelle (empfohlen)

wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip

Entpacken Sie die heruntergeladene Datei und legen Sie sie am folgenden Speicherort ab:

Entpacken Sie chromedriver_linux64.zip
mv chromedriver /usr/bin/

Ausführungsberechtigungen erteilen

chmod +x /usr/bin/chromedriver

3. Führen Sie den Code aus, um zu sehen, ob er erfolgreich ist (unter Python).

von Selenium importiere Webtreiber
Treiber = Webtreiber.Chrome()

------------Vergleichstabelle kompatibler Versionen für 2019-----------
ChromeDriver 78.0.3904.11 (12.09.2019)---------Unterstützt Chrome Version 78
ChromeDriver 77.0.3865.40 (2019-08-20)---------Unterstützt Chrome Version 77
ChromeDriver 76.0.3809.12 (07.06.2019)---------Unterstützt Chrome Version 76
ChromeDriver 75.0.3770.8 (29.04.2019)---------Unterstützt Chrome Version 75
ChromeDriver v74.0.3729.6 (2019-03-14)--------Unterstützt Chrome v74
ChromeDriver v2.46 (01.02.2019)----------Unterstützt Chrome v71-73

2. Chrome läuft im Nicht-Schnittstellenmodus

von Selenium importiere Webtreiber
von selenium.webdriver.chrome.options importiere Optionen
 
chrome_options = Optionen()
chrome_options.add_argument('--no-sandbox')#Beheben Sie den Fehler, dass die DevToolsActivePort-Datei nicht existiertchrome_options.add_argument('window-size=1920x3000') #Geben Sie die Browserauflösung anchrome_options.add_argument('--disable-gpu') #In der Google-Dokumentation wird erwähnt, dass dieses Attribut hinzugefügt werden muss, um Fehler zu vermeiden
chrome_options.add_argument('--hide-scrollbars') #Bildlaufleisten ausblenden, für einige spezielle Seitenchrome_options.add_argument('blink-settings=imagesEnabled=false') #Keine Bilder laden, Geschwindigkeit erhöhenchrome_options.add_argument('--headless') #Der Browser stellt keine Visualisierungsseiten zur Verfügung. Wenn das System unter Linux keine Visualisierung unterstützt, schlägt der Start ohne diese Ergänzung fehl#Browserobjekt erstellendriver = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)#executable_path: Browsertreiber pathdriver.get(url)

3. Laden Sie Dateien im Nicht-Schnittstellenmodus herunter

Bisher konnte Chromedriver im Headless-Modus Dateien nicht richtig herunterladen, da die bereitgestellte Einstellungsdatei nur unzureichend analysiert wurde. Ein Ingenieur des Headless-Chrome-Teams schlug vor, dieses Problem mit „Page.setDownloadBehavior“ von DevTools zu beheben. Diese Änderungsliste implementiert diesen Fix. Heruntergeladene Dateien werden standardmäßig in das aktuelle Verzeichnis verschoben, das beim Instanziieren einer Chromedriver-Instanz mit download_dir festgelegt werden kann. Außerdem wurden Tests hinzugefügt, um die korrekte Download-Funktionalität sicherzustellen.

Parameter = {'Verhalten': 'erlauben', 'Downloadpfad': r'C:\Benutzer\Debanjan.B\Downloads'}
driver.execute_cdp_cmd('Page.setDownloadBehavior', Parameter)

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Verwendung von Selenium Chrome unter Linux
  • Analyse der Linux-Konfiguration zur Realisierung eines schlüssellosen Anmeldevorgangs
  • Detailliertes Tutorial zum Hochladen und Konfigurieren von JDK und Tomcat unter Linux
  • Installations- und Konfigurationsmethode von Zabbix Agent auf der Linux-Plattform
  • vscode Linux C++-Entwicklungscode, automatische Eingabeaufforderungskonfiguration unter Win10-Umgebung (basierend auf WSL)
  • Tutorial zur Installation und Konfiguration des Linux-Prozessmanagement-Tools Supervisor
  • Zusammenfassung der Konfigurationsmethoden für Linux-Umgebungsvariablen (Unterschiede zwischen .bash_profile und .bashrc)

<<:  Natives JS zur Implementierung eines Dropdown-Menüs

>>:  Detailliertes Tutorial zum Herunterladen, Installieren und Konfigurieren von MySQL 5.7.27

Artikel empfehlen

So öffnen Sie den Port in Centos7

Die Standard-Firewall von CentOS7 ist nicht iptab...

So deaktivieren Sie Webseitenstile mit dem Webentwickler von Firefox

Voraussetzung: Das Webentwickler-Plugin wurde inst...

Versprechenskapselung wx.request-Methode

Im vorherigen Artikel wurde die Implementierungsm...

So kapseln Sie die Karussellkomponente in Vue3

Zweck Kapseln Sie die Karussellkomponente und ver...

Beispiel für den Export und Import von Docker-Containern

Inhaltsverzeichnis Docker-Container exportieren D...

JavaScript implementiert eine Warteschlange mit doppeltem Ende

In diesem Artikelbeispiel wird der spezifische Co...

Der visuelle Designpfad der Website sollte den Benutzergewohnheiten entsprechen

Cooper sprach über den visuellen Pfad des Benutze...

Ein Vergleich zwischen dem href-Attribut und dem onclick-Ereignis des a-Tags

Lassen Sie uns zunächst über die Ausführungsreihe...

Ich habe ein paar coole Designseiten zusammengestellt, die ich gut finde.

Sie müssen Inspiration haben, um eine Website zu g...

Jmeter stellt eine Verbindung zum Datenbankprozessdiagramm her

1. Laden Sie den MySQL-JDBC-Treiber (mysql-connec...

Installieren Sie JDK1.8 in einer Linux-Umgebung

Inhaltsverzeichnis 1. Installationsumgebung 2. In...

JavaScript zum Erzielen eines einfachen Lupeneffekts

In einem großen Kästchen befindet sich ein Bild. ...