我想让selenium
运行无头的google chrome实例来挖掘某些网站上的数据,而又不会增加UI开销。我从here下载了chromedriver可执行文件,并将其复制到当前的脚本目录中。该驱动程序似乎可以很好地使用硒,并且可以自动浏览,但是我似乎找不到无头的选项。在线使用selenium
和无头镀铬的大多数示例遵循以下原则:
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是否允许无头浏览?
谢谢
答案 0 :(得分:3)
options.headless =真
以下是我设置无头铬的方法
options = webdriver.ChromeOptions()
options.headless=True
options.add_argument('window-size=1920x1080')
prefs = {
"download.default_directory": r"C:\FilePath\Download",
"download.prompt_for_download": False,
"download.directory_upgrade": True}
options.add_experimental_option('prefs', prefs)
chromedriver = (r"C:\Filepath\chromedriver.exe")
答案 1 :(得分:2)
--headless
不是chromedriver
的参数,而是Chrome
的参数。 --headless
以无头模式运行chrome,即没有UI或显示服务器依赖项。 ChromeDriver是WebDriver用于控制Chrome的独立可执行文件,而Webdriver是用于驱动浏览器的特定于语言的绑定的集合。
我可以使用此选项在无头模式下运行。我希望这会有所帮助:
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)
browser.implicitly_wait(20)
答案 2 :(得分:1)
x = Dense(128, activation='relu')(x)
x = Dropout(0.35)(x)
out = Dense(num_classes, activation='softmax')(x)
是--headless
的不是参数,但是chromedriver
,您可以看到Chrome https://facebook.github.io/create-react-app/docs/running-tests