Selenium ChromeOptions 的含义

Meaning of Selenium ChromeOptions

我在使用无头模式的 Selenium 时遇到了很多问题。因此,我将这些选项添加到我的 ChromeOptions 对象中:

  1. --代理服务器='direct://'
  2. --代理旁路列表=*
  3. --禁用-dev-shm-使用
  4. --禁用浏览器端导航

我看到它可以帮助 Selenium 在无头模式下更快地工作并提供更好的结果,但我不明白每个选项的真正含义。每个选项的作用是什么?

--代理服务器

使用指定的代理服务器,覆盖系统设置。此开关仅影响 HTTP 和 HTTPS 请求。


--代理旁路列表

指定我们绕过代理设置并使用直接连接的主机列表。除非还指定了 --proxy-server ,否则将被忽略。这是以逗号分隔的绕过规则列表。

详情请见: https://source.chromium.org/chromium/chromium/src/+/main:net/proxy_resolution/proxy_bypass_rules.h?q=net%2Fproxy_resolution%2Fproxy_bypass_rules.h&ss=chromium


--禁用-dev-shm-使用

/dev/shm 分区在某些 VM 环境中太小,导致 Chrome 失败或崩溃。使用此标志解决此问题(临时目录将始终用于创建匿名共享内存文件)。

查看错误详情https://bugs.chromium.org/p/chromium/issues/detail?id=715363


--禁用浏览器端导航

每当您在 selenium 驱动程序的帮助下加载某个页面时,驱动程序脚本都会等待页面完全加载。但有时 webdriver 需要更多时间来加载页面,在这种情况下,您将在控制台中看到 TimeoutException 异常。所以你需要停止下载额外的子资源(图片、CSS、js 等)你可以通过 webdriver

更改 pageLoadStrategy

参考:


参考:https://peter.sh/experiments/chromium-command-line-switches/#proxy-server