Bei der Arbeit mit Selen ist mir ein Problem begegnet. Für mein Projekt muss ich Chrome verwenden. Ich kann jedoch keine Verbindung zu diesem Browser herstellen, nachdem ich ihn mit Selenium gestartet habe.
Aus irgendeinem Grund kann Selenium Chrome von selbst nicht finden. Dies passiert, wenn ich versuche, Chrome ohne Angabe eines Pfads zu starten:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/Selenium/wiki/ChromeDriver")
Selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/Selenium/downloads/list and read up at http://code.google.com/p/Selenium/wiki/ChromeDriver'
Um dieses Problem zu lösen, habe ich den Chromium-Pfad in den Code eingefügt, mit dem Chrome gestartet wird. Der Interpreter kann jedoch keinen Socket finden, mit dem eine Verbindung hergestellt werden kann:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/Selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
Selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
Ich habe auch versucht, das Problem zu lösen, indem ich chrome mit:
chrom - Remote-Shell-Port = 9222
Dies funktionierte jedoch auch nicht.
PS. Hier einige Informationen zu meinem System:
www-client: chrom 15.0.874.121 dev-lang: python 2.7.2-r3 Selen 2.11.1 Betriebssystem: GNU/Linux Gentoo Kernel 3.1. 0-gentoo-r1
Sie müssen sicherstellen, dass sich die eigenständige ChromeDriver-Binärdatei (die sich von der Chrome Browser-Binärdatei) unterscheidet) entweder in Ihrem Pfad befindet oder in der Umgebungsvariablen webdriver.chrome.driver verfügbar ist.
vollständige Informationen zur Verkabelung finden Sie unter http://code.google.com/p/Selenium/wiki/ChromeDriver .
Bearbeiten:
Richtig, scheint ein Fehler in den Python) -Bindungen zu sein, die den Chromedriver-Binärcode aus dem Pfad oder der Umgebungsvariablen lesen Scheint, wenn Chromedriver nicht in Ihrem Pfad ist, müssen Sie es als Argument an den Konstruktor übergeben.
import os
from Selenium import webdriver
chromedriver = "/Users/adam/Downloads/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
driver.quit()
Für Linux
chromium-browser -version
Installiert haben.Sudo apt-get install chromium-browser
/usr/bin
Sudo mv chromedriver /usr/bin
/usr/bin
Verzeichnis cd /usr/bin
Sudo chmod a+x chromedriver
Ausführen, um die ausführbare Datei zu markieren.schließlich können Sie den Code ausführen.
from Selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.google.com")
print driver.page_source.encode('utf-8')
driver.quit()
display.stop()
Nur Mac OSX
Eine einfachere Möglichkeit, loszulegen (vorausgesetzt, Sie haben bereits homebrew installiert, und wenn nicht, sollten Sie dies zuerst tun und homebrew Ihr Leben verbessern lassen), besteht darin, einfach den folgenden Befehl auszuführen:
brew install chromedriver
Das sollte den Chromedriver in deinen Weg bringen und du solltest fertig sein.
Laden Sie ChromeDriver von diesem direkten Link herunter [~ # ~] oder [~ # ~] Holen Sie sich die neueste Version von dieser Seite .
Fügen Sie das chromedriver.exe
Datei in Ihrem C:\Python27\Scripts
Mappe.
Das sollte jetzt funktionieren:
from Selenium import webdriver
driver = webdriver.Chrome()
Für Windows bitte das chromedriver.exe
unter gestellt <Install Dir>/Python27/Scripts/
Es gibt zwei Möglichkeiten, Selenium python Tests in Google Chrome. Ich erwäge Windows (Windows 10 in meinem Fall):
Voraussetzung: Laden Sie den neuesten Chrome Treiber von: https://sites.google.com/ a/chromium.org/chromedriver/downloads
Weg 1:
i) Extrahieren Sie die heruntergeladene Zip-Datei in ein Verzeichnis Ihrer Wahl
ii) Legen Sie den ausführbaren Pfad in Ihrem Code wie folgt fest:
self.driver = webdriver.Chrome(executable_path='D:\Selenium_RiponAlWasim\Drivers\chromedriver_win32\chromedriver.exe')
Weg 2:
i) Fügen Sie einfach die chromedriver.exe unter/Python/Scripts/ein (in meinem Fall lautete der Ordner: C:\Python36\Scripts).
ii) Schreiben Sie nun den folgenden einfachen Code:
self.driver = webdriver.Chrome()