![](/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.