gpt4 book ai didi

python - 使用 Selenium Python 客户端在不同浏览器中处理 headless (headless)模式

转载 作者:行者123 更新时间:2023-12-03 23:45:08 25 4
gpt4 key购买 nike

我目前正在开发一个使用 Selenium 的 Python (3.7) CLI 程序,它将被不同的人群使用。
我遇到的问题如下:
用于在 中设置“ headless (headless)”等选项 Chrome 我用

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(executable_path,options=chrome_options)
对于 火狐 ,代码如下所示:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True
driver = webdriver.Firefox(executable_path,options=options)
所以我想知道是否有办法规范这些设置/优雅地处理不同的浏览器,或者我是否必须基本上编写所有内容 2 甚至 3 次(可能添加 Safari 或 Opera)?

最佳答案

根据 Selenium 的变更日志Python 客户端 v3.12.0:

  • Deprecate Options set_headless methods in favor of property setter

因此,如果您使用的是 Selenium WebDriver v 3.12.0 或更高版本,而不是 chrome_options.add_argument("--headless")您需要使用 headless 属性 setter 如下:
options.headless = True
否则您可能会看到 DeprecationWarning如下:
DeprecationWarning: use setter for headless property instead of set_headless opts.set_headless(headless=True)

You can find a relevant detailed discussion in DeprecationWarning: use setter for headless property instead of set_headless opts.set_headless(headless=True) using Geckodriver and Selenium in Python



引用
几个相关的讨论:
  • How to make firefox headless programmatically in Selenium with python?
  • How to configure ChromeDriver to initiate Chrome browser in Headless mode through Selenium?
  • 关于python - 使用 Selenium Python 客户端在不同浏览器中处理 headless (headless)模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63262476/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com