![](/img/trans.png)
[英]Is my Selenium Chrome Headless browser working as it should?
[英]Selenium API is not working in Chrome browser
我在 C# 中創建了一個基本的 Selenium 控制台應用程序,它打開一個URL
,登錄並執行一些活動。
該代碼在 Dev VM 中運行良好,但相同的代碼在生產 VM 中不起作用。 在 Prod VM 中,代碼只是打開 URL(登錄頁面),它不處理任何內容。
我用谷歌搜索並嘗試添加不同的選項,但沒有任何效果。
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--incognito");
chromeOptions.AddArgument("no-sandbox");
chromeOptions.AddArgument("disable-infobars");
chromeOptions.AddArgument("--ignore-ssl-errors");
chromeOptions.AddArgument("--ignore-certificate-errors-spki-list");
chromeOptions.AcceptInsecureCertificates = true;
string path = @"local Chromedriver.exe(103.0.5060.134) path";
IWebDriver driver = new ChromeDriver(path, chromeOptions, TimeSpan.FromMinutes(2));
driver.Url = "url";
我有 chromedriver 103.0.5060.134
,與 chrome 瀏覽器的版本相同。 不知道我還需要檢查什么。
主要錯誤是:
[67852:69648:0818/112450.083:ERROR:ssl_client_socket_impl.cc(996)] handshake failed; returned -1, SSL error code 1, net_error -101
更新
我已將 Chrome 驅動程序更新為104
版本,並將 Chrome 瀏覽器更新為104.0.5112.102
,但仍然出現相同的錯誤。
我在 dev 中有相同的驅動程序版本和 chrome 版本,它工作正常。 有沒有辦法讓我獲得額外的日志? 不知道為什么在生產中完全失敗。
首先,此錯誤消息...
[67852:69648:0818/112450.083:ERROR:ssl_client_socket_impl.cc(996)] handshake failed; returned -1, SSL error code 1, net_error -101
...意味着 ChromeDriver 和 Chrome 瀏覽器之間的握手在某些時候失敗了。
根據ERROR:ssl_client_socket_openssl.cc 握手失敗,主要問題是當ChromeDriver與Chrome中的SSL 頁面握手時握手失敗。 雖然Chromium團隊通過net_unittests
、 content_tests
和browser_tests
對SSL 握手進行了測試,但並不詳盡。 依賴上游測試,一些用例被遺漏了。
始終確保:
不是很清楚為什么需要添加這么多 arguments。 然而,
--incognito
:沒有必要,因為ChromeDriver啟動的會話默認是沙盒的。 所以你可以丟棄它。--no-sandbox
:除非您的程序在啟動過程中以root用戶(管理員)身份在 Linux 上執行時崩潰,否則不需要。 所以你可以刪除它。disable-infobars
:它不再有效。 所以你可以丟棄它。--ignore-certificate-errors-spki-list
:除非--user-data-dir
參數也存在,否則無效。 所以你可以刪除它。結合上述更改,您會很喜歡 go。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.