Chrome 79以后版本Selenium中window.navigator.webdriver 值无法更改的解决方法

Chrome 79 之后:

chrome_options.add_experimental_option('excludeSwitches',['enable-automation'])

这句代码已经失效,window.navigator.webdriver的值一直是true
可以通过以下方式解决:

option= ChromeOptions()
option.add_experimental_option("excludeSwitches", ["enable-automation"])
option.add_experimental_option('useAutomationExtension', False)
driver = Chrome(executable_path=driver_path,options=option)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.execute_cdp_cmd("Network.enable", {})
driver.execute_cdp_cmd("Network.setExtraHTTPHeaders", {"headers": {"User-Agent": "browser1"}})

这种方式在刷新页面之后window.navigator.webdriver的值依然是undefined

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么...
    霜天晓阅读 897评论 0 0
  • Selenium 官网Selenium WebDriver官网webdriver实用指南python版本 WebD...
    顾顾314阅读 47,082评论 0 34
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,611评论 0 7
  • 本博客转自:「作者:若愚链接:https://zhuanlan.zhihu.com/p/22361337来源:知乎...
    韩宝亿阅读 2,807评论 0 3
  • 加入到孩子的幻想游戏吧!女儿很喜欢玩幻想游戏,扮怪兽,演超人。最近模仿得最多的是尾巴,把长条形的物品贴在屁股上,说...
    玲英阅读 292评论 0 1