9

クロムの場合、

public class Chrome {

  public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "E://chromedriver.exe");
        WebDriver driver = new ChromeDriver();              
        driver.get("http://www.google.com");

    }

}

Firefox の場合、

public class Firefox {

      public static void main(String[] args) {

            WebDriver driver = new FirefoxDriver();              
            driver.get("http://www.google.com");

        }

    }

system.setPropertyChrome と IE でを指定する必要があるのはなぜですか?

4

3 に答える 3

6

私も同じ質問をしましたが、掘り下げた後、

WebDriverネイティブ ブラウザ アプローチを使用します。Selenium は Firefox 用の組み込みドライバーを提供しますが、他のブラウザー用は提供しません。すべてのドライバー (Chrome ドライバー、IE ドライバーなど) は、各ブラウザーで使用される特別な JS エンジンに基づいて構築されています。

SeleniumWebDriverは、ドライバー サーバーが組み込まれているため、Mozilla Firefox と非常にうまく連携します。ただし、Internet Explorer と Google Chrome については同じではありません。Firefox は最も伝統的なブラウザであるため、Selenium ではWebDriver、ブラウザを起動する前に追加のユーティリティを設定する必要はありません。Selenium パッケージは、firefox.exe のデフォルトの場所を自動的に参照するため、ユーザーは他のプロパティを設定する必要はありません。

「ドライバー実行可能ファイルへのパスは、webdriver によって設定する必要があります。すなわち。driver system property」エラー、または同様の表現の Chrome 相当のエラーが発生した場合は、ブラウザにドライバ サーバーをインストールする必要があることを意味します。ドライバー サーバーは、ブラウザーと Selenium ワイヤ プロトコル間の呼び出しを管理します。

InternetExplorerDriver、WebDriver のワイヤ プロトコルを実装するスタンドアロン サーバーです。

同様に、Google Chrome にはサーバーが組み込まれていないため、Selenium コードをブラウザーに伝達するために Chrome ドライバー サーバーが必要になります。Chrome ドライバー サーバーをダウンロードできます。

ここから創業。

于 2016-02-09T07:12:41.730 に答える