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 verwenden Sie die HTML 5 Drag & Drop-API in Vue

Die Drag & Drop-API fügt ziehbare Elemente zu...

Win2008 R2 MySQL 5.5 ZIP-Format MySQL-Installation und -Konfiguration

Installation und Konfiguration von MySQL im ZIP-F...

Detaillierte Erklärung des Linux-Kernel-Makros Container_Of

Inhaltsverzeichnis 1. Wie werden Strukturen im Ge...

So erzielen Sie mit CSS einen Daten-Hotspot-Effekt

Die Wirkung ist wie folgt: analysieren 1. Hier se...

MySQL 5.7.21 Installations- und Konfigurations-Tutorial unter Windows 10

Dieser Artikel zeichnet die Installations- und Ko...

Designtheorie: Menschenorientiertes Designkonzept

<br />Als sich das Denken in Ost und West sp...

Gojs implementiert Ameisenlinien-Animationseffekt

Inhaltsverzeichnis 1. Gojs-Implementierung 1. Zei...

So stellen Sie MySQL- und Redis-Dienste mit Docker bereit

Inhaltsverzeichnis So stellen Sie den MySQL-Diens...

jQuery implementiert einen einfachen Karusselleffekt

Hallo zusammen, heute werde ich die Implementieru...

VMware virtuelle Maschine installieren CentOS 8 (1905) System-Tutorial-Diagramm

Die weltberühmte virtuelle Maschinensoftware VMwa...

Prinzipien und Beispiele für Lambda-Ausdrücke

Lambda-Ausdrücke Lambda-Ausdrücke, auch Closures ...

Implementierung der MySQL-Datensortierung (aufsteigend und absteigend)

Datensortierung aufsteigend, absteigend 1. Sortie...

So verwenden Sie den Linux-Befehl „basename“

01. Befehlsübersicht Basisname - entfernt Verzeic...