我試圖打開兩個實例ChromeDriver具有相同配置文件如下:硒:ChromeDriver具有相同的配置文件打開兩個不同的實例
ChromeDriverService service1 = ChromeDriverService.CreateDefaultService();
ChromeOptions options1 = new ChromeOptions();
options1.AddArguments($"user-data-dir=C:/Users/{Environment.UserName}/AppData/Local/Google/Chrome/User Data/Default");
service1.HideCommandPromptWindow = true;
ChromeDriver driver1 = new ChromeDriver(service1, options1);
driver1.Navigate().GoToUrl("https://www.google.com");
ChromeDriverService service2 = ChromeDriverService.CreateDefaultService();
ChromeOptions options2 = new ChromeOptions();
options2.AddArguments($"user-data-dir=C:/Users/{Environment.UserName}/AppData/Local/Google/Chrome/User Data/Default");
service2.HideCommandPromptWindow = true;
ChromeDriver driver2 = new ChromeDriver(service2, options2);
driver2.Navigate().GoToUrl("https://www.google.com");
的問題是,第一驅動作品並導航到谷歌,但在秒實例化第二個驅動程序時,出現以下異常:
附加信息:引發了一個空響應異常,它向遠程WebDriver服務器發送HTTP請求,URL爲http://localhost:6949/session。異常的狀態是ReceiveFailure,消息是:底層連接已關閉:接收時發生意外錯誤。
我還從執行不同的二進制文件的每個驅動程序,但得到了與第二個同樣的問題。
問題是由用戶配置文件(瀏覽器選項),並通過移除個人資料造成的,一切工作正常。
但是,對我來說,使用相同的配置是強制性的。
任何指導會有所幫助。
謝謝。
這是一個很好的伎倆。但我在這裏有一個問題:當我用用戶名和密碼登錄時,我爬行的網站(不是谷歌)對會話和瀏覽器數據很敏感(登錄後,沒有人可以從不同的計算機登錄此帳戶,甚至不同瀏覽器,除了相同的瀏覽器和相同的配置文件,我在這裏做的)。在將新配置文件dir傳遞給第二個實例之後,我使用第一個瀏覽器登錄,刷新第二個瀏覽器並按照我的意願自動登錄。我的問題是,如果我改變第一個實例的cookie值會發生這種情況(因爲我有時需要這樣做) – Efe
無論如何,這對我有效。謝謝 – Efe
令人驚歎。謝謝 –