栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

尽管存在--ignore-certificate-errors,但ChromeDriver ERR_SSL_PROTOCOL_ERROR

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

尽管存在--ignore-certificate-errors,但ChromeDriver ERR_SSL_PROTOCOL_ERROR

此错误消息…

This site can’t provide a secure connection app sent an invalid response. ERR_SSL_PROTOCOL_ERROR

…表示 ChromeDriver 无法启动/产生新的 WebBrowser, 即本地主机上的 Chrome浏览器 会话。

正如你所看到的这个问题,你对 本地主机(没有HTTPS)
按照此评论一眼罩的解决办法是增加

argument

--allow-insecure-localhost
通过
chromeOptions()
如下:

'goog:chromeOptions': {'args': ['--allow-insecure-localhost'], 'extensions': []}

但是你的主要问题似乎是与 能力 ,你必须设置

platform
为集合S
ANY
如下:

{'acceptInsecureCerts': True,'browserName': 'chrome','goog:chromeOptions': {'args': ['--ignore-certificate-errors'], 'extensions': []},'platform': 'ANY','version': ''}

正如WebDriver-W3C Living document的 platformName
部分提到的那样,以下平台名称通常以易于理解的语义使用,并且在匹配功能时,通过将其作为已知操作系统的有效同义词来实现最大的互操作性:

Key         System---         ------"linux"     Any server or desktop system based upon the Linux kernel."mac"       Any version of Apple’s macOS."windows"   Any version of Microsoft Windows, including desktop and mobile versions.

注意 :此列表并不详尽。

从New Session返回功能时,返回更特定的platformName是有效的,从而允许用户正确标识WebDriver实现在其上运行的操作系统。

因此

"platform":"ANY"
与其 传递 期望的功能 对象, 不如说 是更具体的
"platform":"linux"
方法。


有关 ChromeDriverChromeSelenium Client 版本的更多信息将有助于我们以更好的方式分析问题。但是,根据
ChromeDriver的 历史记录,最近几个版本的 ChromeDriver 中解决了与 证书错误 处理相关的以下问题: __

  • 允许通过DevTools处理证书错误:由于无头chrome无法显示SSL证书错误的UI警告,因此发布了一个修复程序以将错误暴露为DevTools事件,并控制通过DevTools命令执行的操作。
  • 提供无头处理Chromedriver / Selenium中的证书错误的能力:以前,通过Chromium的UI版本(如)中的CLI开关控制的某些与安全相关的选项被
    --ignore-certificate-errors
    忽略,只能通过devtools进行设置。因此,有必要
    certificateError
    在以浏览器为目标的DevTools客户端上覆盖和处理事件。一个补丁发布实施新DevTools方法的使用,以替代证书错误处理浏览器的宽这使得在无头模式忽略证书错误太多。
  • 通过DevTools进行全局证书错误处理:以前,DevTools允许处理单个目标/ WebContents的证书错误,但是当创建新目标(例如,单击target = _blank链接)时,通常无法足够快地发送
    Security.enable
    /
    Security.setOverrideCertificateErrors
    命令在尝试导航之前。一个修复用简单的“忽略所有证书错误”模式发布,取而代之的是新的,而不是过时的旧覆盖命令
    setIgnoreCertificateErrors
    命令,它也暴露了在浏览器上的目标的安全域,以促进全球范围内应用该重写了整个浏览器。

结论

  • 确保添加了以下参数/功能:
    • --allow-insecure-localhost
    • acceptInsecureCerts
    • --ignore-certificate-errors
  • 使用时
    'chromedriverVersion': '74.0.3729.6'
    ,请确保您也正在使用
    'chrome': '74.0'
    (根据ChromeDriver v74.0.3729.6发行说明)
  • 确保您使用的是最新发布的 Selenium v​​3.141.59 客户端。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号