如何使用 Selenium for Firefox (geckodriver) 将 navigator.webdriver 设置为未定义

CST*_*CST 5 python firefox selenium geckodriver

我正在尝试使用 Python 中的 Selenium 将 Firefox 浏览器中的 navigator.webdriver 变量设置为未定义。

使用 Chrome 时我已经能够成功地做到这一点,但现在我需要在 Firefox 中使用相同的方法。使用 Firefox webdriver 时,execute_cdp_cmd(...) 不存在。

有谁知道如何使用 firefox webdriver 而不是 chrome webdriver 来做同样的事情?

请参阅下面的相关代码。

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": """
        Object.defineProperty(navigator, 'webdriver', {
            get: () => undefined
        })
    """
})
Run Code Online (Sandbox Code Playgroud)

CST*_*CST 5

从那以后,我找到了解决我的问题的方法。下面的代码将在 Selenium 运行的 Firefox 浏览器中将“navigator.webdriver”设置为 undefined。

profile.set_preference("dom.webdriver.enabled", False)
Run Code Online (Sandbox Code Playgroud)

  • 在 firefox 88 中,它不再起作用,现在当启用 maionette 时,“navigator.webdriver”始终为“true”。 (5认同)
  • Firefox 有已知的解决方法吗? (3认同)