Wir haben einen Ubuntu-Server, den wir zum Ausführen von Selenium-Tests mit Chrome und Firefox verwenden (ich habe ChromeDriver installiert), und ich möchte die Tests auch lokal auf meinem Windows 10-Computer ausführen. Ich möchte, dass der Python-Code für beide Computer gleich bleibt. Ich habe aber nicht herausgefunden, wie man den ChromeDriver unter Windows 10 installiert? Ich habe es nicht in der Dokumentation gefunden [1 , 2] .
Hier ist der Code, der den Test in Chrome ausführt:
import unittest
from Selenium import webdriver
class BaseSeleniumTestCase(unittest.TestCase):
...
...
...
...
def start_Selenium_webdriver(self, chrome_options=None):
...
self.driver = webdriver.Chrome(chrome_options=chrome_options)
...
Ich habe auch gefunden Wie kann ich Selenium WebDriver-Testfälle in Chrome ausführen? aber es scheint nicht in Python zu sein (keine Programmiersprache ist markiert, was ist das?)
Update Nr. 1: Ich habe in https://sites.google.com/a/chromium.org/chromedriver/getting-started etwas Python-Code gefunden Wenn ich für beide Computer denselben Python-Code beibehalten möchte?
Update # 2: Ich habe chromedriver.exe
heruntergeladen und in C:\Windows
eingefügt, und es funktioniert, aber ich habe es nirgendwo dokumentiert.
Wie Uri in der Frage bereits unter Update # 2 angegeben hat, wird durch das Herunterladen der neuesten Version von Chromedriver und dessen Platzierung in C:\Windows das Problem behoben.
Ich hatte das gleiche Problem mit Chrome, wenn das Browserfenster geöffnet wurde (neben einem Eingabeaufforderungsfenster).
Die neuesten Treiber finden Sie unter:
https://sites.google.com/a/chromium.org/chromedriver/downloads
Die Version in der Datei chromedriver_win32.Zip funktioniert auf meinem 64-Bit-System.
Lassen Sie mich zunächst die Anforderungen kurz erläutern ... Sie müssen den Chrome-Web-Treiber Zip hier herunterladen. https://chromedriver.storage.googleapis.com/index.html?path=2.33/
Extrahieren Sie die Datei und speichern Sie sie an einem gewünschten Ort.
Erstellen Sie ein neues Projekt in Eclipse und fügen Sie den folgenden Code in Ihre Klasse ein.
System.setProperty("webdriver.chrome.driver", "C:\\temp\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
Erläuterung: System.setProperty(key,value)
:
Der Schlüssel ist voreingestellt und für alle Systeme gleich. Der Wert ist der Speicherort Ihrer Chromedriver-Extraktdatei.
chromedriver.exe
herunter und speichern Sie ihn an einem gewünschten Ortexecutable_path
an seinem gespeicherten Pfad anDer Beispielcode ist unten:
from Selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('headless')
driver = webdriver.Chrome(executable_path="path/to/chromedriver.exe", chrome_options=options)
driver.get("example.html")
# do something here...
driver.close()
Wie Uri in Update Nr. 2 der Frage angegeben hat, ist es nicht erforderlich, chromedriver.exe
anzugeben, wenn wir C:/Windows
unter executable_path
setzen, da Python unter C:/Windows
suchen wird.