【问题标题】:Selenium Python: How can I disable JavaScript while using headless Chrome?Selenium Python:如何在使用无头 Chrome 时禁用 JavaScript?
【发布时间】:2023-01-14 08:19:21
【问题描述】:

一起使用这些选项不会按预期工作:

options.add_argument('--disable-javascript')
options.add_argument('--headless')

When I disable JavaScript without using headless mode, it looks like this.

But when I try to disable JavaScript with headless mode, it looks like this.

【问题讨论】:

  • 无头时仍然无法在 Chrome 中禁用 JavaScript。

标签: python selenium selenium-chromedriver


【解决方案1】:

如果您使用新的无头模式,现在可以在无头 Chrome 中禁用 JavaScript:

新方式(2023):--headless=new(Chrome 109及以上)

以前的方式:--headless=chrome(Chrome 96 - Chrome 108)

(老办法:--headless

这里有更多信息:https://bugs.chromium.org/p/chromium/issues/detail?id=706008#c36

有关更新的 Chrome 109 信息,请参阅:https://github.com/chromium/chromium/commit/e9c516118e2e1923757ecb13e6d9fff36775d1f4

您可以使用下面的代码作为在无头运行时完全禁用 JavaScript 的选项:

prefs = {}
prefs["webkit.webprefs.javascript_enabled"] = False
prefs["profile.content_settings.exceptions.javascript.*.setting"] = 2
prefs["profile.default_content_setting_values.javascript"] = 2
prefs["profile.managed_default_content_settings.javascript"] = 2

options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", prefs)
options.add_argument('--disable-javascript')
options.add_argument('--headless=new')

【讨论】:

  • 很抱歉,它提醒我“感谢您的反馈!您至少需要 15 声望才能投票,但您的反馈已被记录。”我是菜鸟,有一天我的声望足够了,我会回去给你投票。真的真的非常感谢!
  • 这个 options.add_argument('--headless=chrome') 是我工作的关键。我有 options.headless = True
  • 从 Chrome 109 开始,使用--headless=new。 (他们只是改变了它)
猜你喜欢
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多