2015-12-15 99 views
3

我正在用Java編寫一些Selenium腳本。我在這裏使用選項,但不幸的是,我無法使用options將URL發送到瀏覽器。當我正常運行它時,我可以發送它。以下是我的代碼。無法發送URL到Chrome

System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe"); 
     String user = System.getProperty("user.name"); 
     // System.out.println(user); 
     ChromeOptions options = new ChromeOptions(); 
     options.addArguments("user-data-dir=C:\\Users\\" + user + "\\AppData\\Local\\Google\\Chrome\\User Data\\"); 
     options.addArguments("--start-maximized"); 
     WebDriver cd = new ChromeDriver(options); 
     cd.get("http://google.com"); 

當我運行這個,我得到下面的異常。

Starting ChromeDriver 2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1) on port 39621 
Only local connections are allowed. 
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed 
    (Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 61.43 seconds 
Build info: version: '2.48.1', revision: 'd80083d', time: '2015-10-08 21:07:25' 
System info: host: 'U0138039-TPD-A', ip: '10.112.78.15', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_67' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:247) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:148) 
    at EaselTest.main(FirstTest.java:20) 

但是當我運行下面的

System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe"); 
     WebDriver cd = new ChromeDriver(); 
     cd.get("https://google.com"); 

它工作正常,沒有錯誤。

而且,瀏覽器開始最大化,但URL不會發送到瀏覽器。這很混亂。請讓我知道我該如何解決這個問題。這段時間對我來說很合適(像一個小時左右..),但現在不是。和錯誤拋出WebDriver cd = new ChromeDriver(options);

請讓我知道當我出錯了,我該如何解決這個問題。

感謝

+0

它完美地爲我工作。我相信它與你的'user-data-dir'標誌有關。檢查文件夾的內容。也許嘗試在刪除用戶user-data-dir文件夾內容後卸載並安裝chrome。 – Sighil

+0

Hi @Sighil經過一些試驗和錯誤的方法後得出這個結論。如果我打開瀏覽器,瀏覽或收聽歌曲,這種情況正在發生,否則它工作正常。請讓我知道我該如何解決這個問題。謝謝 – user3872094

回答

1

按在問題的意見,這看起來像,這是關係到用戶數據目錄。當wr在打開的Chrome瀏覽器上執行某些操作時,某些文件正在文件夾中更新並得到使用。所以當你試圖在指向文件夾chrome崩潰之後啓動chrome。如果您正在使用文件夾中的某些擴展名,則可以複製該文件夾並將其指向副本。

+1

所以你的意思是說,我需要製作'用戶數據'文件夾'用戶數據1'文件夾的副本並訪問它,這樣在瀏覽時,數據影響仍然會在用戶數據文件夾中,但不在'user data1'文件夾中。請確認我的理解是對還是錯。 – user3872094

+0

這工作真棒人。謝謝。 :-) – user3872094