Jor*_*lte 5 python selenium google-chrome google-chrome-headless
我试图让无头 Chrome 工作,同时使用以下命令设置用户数据目录:
from selenium import webdriver
options = webdriver.ChromeOptions();
options.add_argument('--user-data-dir=./User_Data')
options.add_argument('--headless')
browser = webdriver.Chrome(options=options)
Run Code Online (Sandbox Code Playgroud)
这将返回此错误消息:
selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist
Run Code Online (Sandbox Code Playgroud)
以下任何情况都不会阻止此消息的显示(如此处所建议的:WebDriverException:未知错误:DevToolsActivePort 文件在尝试启动 Chrome 浏览器时不存在)
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument("--disable-gpu")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--no-sandbox")
options.add_experimental_option("useAutomationExtension", False)
Run Code Online (Sandbox Code Playgroud)
我能找到的唯一可以防止出现此错误的方法是添加此参数:
options.add_argument('--remote-debugging-port=45447')
Run Code Online (Sandbox Code Playgroud)
这至少会启动一个无头 Chrome,但仍然不会获取指定的用户目录,在没有无头参数的情况下运行时,一切似乎都按预期工作。
如何让无头 Chrome 使用用户数据目录?
| 归档时间: |
|
| 查看次数: |
7147 次 |
| 最近记录: |