我正在學習使用Selenium(v2.20)來領先我們的一些程序員,他們很快就會用它創建一些瀏覽器測試。我想在他們到達之前發現陷阱,並且我偶然發現了一個陷阱。如何在沒有EULA的情況下啓動ChromeDriver.exe?
當我創建我的ChromeDriver時,它始終顯示「Google Chrome EULA」並顯示兩個按鈕:「接受並運行」和「取消」。正如我希望這是一個自動化測試,讓用戶單擊按鈕是不可能的。
我看了一下Chromium Command Switches的列表,但沒有找到任何工作,也沒有提到EULA。如果我(在斷點處)單擊「接受並運行」,然後讓代碼繼續,則測試工作正常。
的代碼,直至引起該問題的線,低於:
using (var driverService = ChromeDriverService.CreateDefaultService(@"C:\Apps\ChromeDriver\"))
{
driverService.Start();
// This line pops up the EULA
IWebDriver driver = new ChromeDriver(@"C:\Apps\ChromeDriver\");
// rest of test...
}
有沒有其他人遇到這個問題?如果是這樣,你是如何解決它的?
UPDATE 12年4月4日
我只是跑我在工作電腦上相同的代碼,並沒有觸發EULA(與Slanec的經驗相一致),我成功了。這讓我相信,原因是環境問題。我正在研究兩個系統(兩個Win7 x64)之間的差異以確定原因。一旦我有更多的信息,我會更新。
謝謝了,
-Seth
我剛剛嘗試使用(Java)WebDriver全新安裝Google Chrome 18,並且按預期工作。如果您手動打開Chrome,EULA會顯示嗎?你有哪個版本的Chrome?您是否可以重新安裝它並重新安裝嗎? – 2012-03-30 23:53:56
@Slanec - 我已經有chromedriver.exe的v1.8和v1.9。他們都表現出與上面的代碼相同的行爲。我的實際Chrome瀏覽器是v18,並且不要求EULA,但是我的測試中沒有使用該可執行文件(chrome.exe)。我願意重新安裝Chrome,但首先要耗盡其他選項。感謝您的評論。 – SethO 2012-03-31 21:16:57
適用於我=(。 – 2012-04-02 21:40:16