gpt4 book ai didi

python-3.x - --headless 不是用于 Selenium 的 Chrome WebDriver 中的选项

转载 作者:行者123 更新时间:2023-12-03 22:49:58 24 4
gpt4 key购买 nike

我想让 Selenium 运行 Google Chrome 的 headless 实例来从某些网站挖掘数据,而无需 UI 开销。我从 here 下载了 ChromeDriver 可执行文件并将其复制到我当前的脚本目录。
该驱动程序似乎可以与 Selenium 一起正常工作,并且能够自动浏览,但是我似乎找不到 headless 选项。大多数使用 Selenium 和 headless Chrome 的在线示例都遵循以下原则:

import os  
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.binary_location = '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'`

driver = webdriver.Chrome(executable_path=os.path.abspath(“chromedriver"), chrome_options=chrome_options)
driver.get("http://www.duo.com")`
但是,当我使用命令 chromedriver -h 检查 Selenium WebDriver 的可能参数时这就是我得到的:
D:\Jobs\scripts>chromedriver -h
Usage: chromedriver [OPTIONS]

Options
--port=PORT port to listen on
--adb-port=PORT adb server port
--log-path=FILE write server log to file instead of stderr, increases log level to INFO
--log-level=LEVEL set log level: ALL, DEBUG, INFO, WARNING, SEVERE, OFF
--verbose log verbosely (equivalent to --log-level=ALL)
--silent log nothing (equivalent to --log-level=OFF)
--append-log append log file instead of rewriting
--replayable (experimental) log verbosely and don't truncate long strings so that the log can be replayed.
--version print the version number and exit
--url-base base URL path prefix for commands, e.g. wd/url
--whitelisted-ips comma-separated whitelist of remote IP addresses which are allowed to connect to ChromeDriver
没有 --headless选项可用。
从上面的链接获得的 ChromeDriver 是否允许 headless 浏览?

最佳答案

--headless不是 chromedriver 的参数但是对于 Chrome . --headless在 headless 模式下运行 chrome,即没有 UI 或显示服务器依赖项。 ChromeDriver 是一个单独的可执行文件,WebDriver 使用它来控制 Chrome,而 Webdriver 是一组特定于语言的绑定(bind)来驱动浏览器。

我可以使用这组选项在 headless 模式下运行。我希望这个能帮上忙:

from bs4 import BeautifulSoup, NavigableString
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
import requests
import re
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
browser = webdriver.Chrome(chrome_options=options) # see edit for recent code change.
browser.implicitly_wait(20)

2019 年 8 月 12 日更新:

老 : browser = webdriver.Chrome(chrome_options=options)
新: browser = webdriver.Chrome(options=options)

关于python-3.x - --headless 不是用于 Selenium 的 Chrome WebDriver 中的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54035436/

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