Ich habe es versucht
WebDriver driver = new ChromeDriver();
Aber ich bekomme den Fehler als
Fehlgeschlagene Tests: setUp (com.TEST): Der Pfad zur ausführbaren Treiberdatei muss von der Systemeigenschaft webdriver.chrome.driver festgelegt werden. Weitere Informationen finden Sie unter code hier . Die neueste Version kann von Link heruntergeladen werden.
Wie kann ich Chrome zum Testen der Selenium-WebDriver-Testfälle erstellen?
Sie müssen den ausführbaren Treiber herunterladen von: ChromeDriver Download
Dann müssen Sie vor dem Erstellen des Treiberobjekts (bereits in der richtigen Reihenfolge angezeigt) Folgendes verwenden:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
WebDriver driver = new ChromeDriver();
Dies wurde dem nützlichsten Handbuch aus der ChromeDriver-Dokumentation entnommen.
Laden Sie die Update-Version des Chrome-Treibers von Chrome Driver .__ herunter. Lesen Sie auch die Release-Information/ Here Wenn der Chrome-Browser aktualisiert wird, müssen Sie einen neuen Chormedriver von dem obigen Link herunterladen, da dies der Fall wäre Kompatibel mit neuer Browser-Version.
public class chrome
{
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
}
}
Sie sollten den chromeDriver in einen Ordner herunterladen und diesen Ordner in Ihre PATH-Variable einfügen.
Wenn Sie Homebrew unter MacOS verwenden, können Sie den folgenden Befehl verwenden:
(EDIT) : brew tap homebrew/cask && brew cask install chromedriver
Danach sollte es ohne andere Konfiguration funktionieren.
Mit dem folgenden Code können Sie Testfälle in Chrome mit dem Selenium-Web-Treiber ausführen:
import Java.io.IOException;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
public class ChromeTest {
/**
* @param args
* @throws InterruptedException
* @throws IOException
*/
public static void main(String[] args) throws InterruptedException, IOException {
// Telling the system where to find the Chrome driver
System.setProperty(
"webdriver.chrome.driver",
"E:/chromedriver_win32/chromedriver.exe");
WebDriver webDriver = new ChromeDriver();
// Open google.com
webDriver.navigate().to("http://www.google.com");
String html = webDriver.getPageSource();
// Printing result here.
System.out.println(html);
webDriver.close();
webDriver.quit();
}
}
Finden Sie die neueste Version von chromedriver
hier . Entpacken Sie sie nach dem Herunterladen in das Stammverzeichnis Ihrer Python-Installation, z. B. C:/Program Files/Python-3.5
/oder füge chromedriver
zu deinem Pfad oder ähnlich hinzu Ich habe es einfach mit einer sauberen Python-Installation gemacht und das funktioniert.
Laden Sie die neueste Version des Chrome-Treibers herunter und verwenden Sie diesen Code:
System.setProperty("webdriver.chrome.driver", " path of chromedriver.exe");
WebDriver driver= new ChromeDriver();
driver.manage().window().maximize();
Thread.sleep(10000);
driver.get("http://stackoverflow.com");
Alle obigen Antworten sind richtig, es folgt ein kleiner Einblick in das Problem und die Lösung.
Zum Beispiel der Treiberbauer in Selenium
WebDriver driver = new ChromeDriver();
sucht nach der ausführbaren Treiberdatei. In diesem Fall sucht der Chrome-Treiber nach der ausführbaren Chrome-Treiberdatei. Falls der Dienst die ausführbare Datei nicht finden kann, wird die Ausnahme ausgelöst
hier kommt die Ausnahme (beachten Sie die Check-State-Methode)
/**
*
* @param exeName Name of the executable file to look for in PATH
* @param exeProperty Name of a system property that specifies the path to the executable file
* @param exeDocs The link to the driver documentation page
* @param exeDownload The link to the driver download page
*
* @return The driver executable as a {@link File} object
* @throws IllegalStateException If the executable not found or cannot be executed
*/
protected static File findExecutable(
String exeName,
String exeProperty,
String exeDocs,
String exeDownload) {
String defaultPath = new ExecutableFinder().find(exeName);
String exePath = System.getProperty(exeProperty, defaultPath);
checkState(exePath != null,
"The path to the driver executable must be set by the %s system property;"
+ " for more information, see %s. "
+ "The latest version can be downloaded from %s",
exeProperty, exeDocs, exeDownload);
File exe = new File(exePath);
checkExecutable(exe);
return exe;
}
Es folgt die Prüfstatusmethode, die die Ausnahme auslöst
/**
* Ensures the truth of an expression involving the state of the calling instance, but not
* involving any parameters to the calling method.
*
* <p>See {@link #checkState(boolean, String, Object...)} for details.
*/
public static void checkState(
boolean b,
@Nullable String errorMessageTemplate,
@Nullable Object p1,
@Nullable Object p2,
@Nullable Object p3) {
if (!b) {
throw new IllegalStateException(format(errorMessageTemplate, p1, p2, p3));
}
}
SOLUTION: Legt die Systemeigenschaft vor dem Erstellen des Treiberobjekts wie folgt fest
System.setProperty("webdriver.gecko.driver", "path/to/chromedriver.exe");
WebDriver driver = new ChromeDriver();
das folgende Code-Snippet (für Chrome und Firefox) sucht den Treiberservice nach der ausführbaren Treiberdatei:
Chrom:
@Override
protected File findDefaultExecutable() {
return findExecutable("chromedriver", CHROME_DRIVER_EXE_PROPERTY,
"https://github.com/SeleniumHQ/Selenium/wiki/ChromeDriver",
"http://chromedriver.storage.googleapis.com/index.html");
}
Feuerfuchs:
@Override
protected File findDefaultExecutable() {
return findExecutable(
"geckodriver", GECKO_DRIVER_EXE_PROPERTY,
"https://github.com/mozilla/geckodriver",
"https://github.com/mozilla/geckodriver/releases");
}
wobei CHROME_DRIVER_EXE_PROPERTY = "webdriver.chrome.driver" und GECKO_DRIVER_EXE_PROPERTY = "webdriver.gecko.driver"
Ähnlich ist es bei anderen Browsern der Fall. Im Folgenden wird der Snapshot der Liste der verfügbaren Browserimplementierungen angezeigt
Unter Ubuntu können Sie einfach das Paket chromium-chromedriver
installieren:
apt install chromium-chromedriver
Beachten Sie, dass hierdurch auch eine veraltete Selenium-Version installiert wird. So installieren Sie das neueste Selenium:
pip install Selenium