问题描述
Chrome 更新到 136 版本后,无法正常使用 DrissionPage。
解决方案
通过设置独立的 Chrome 用户数据目录,避免与默认配置冲突,同时移除不受支持的命令行参数。
from DrissionPage import ChromiumOptions
from DrissionPage import Chromium
import os
# 设置 Chrome 可执行文件路径
path = r'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' # 请根据实际路径修改
# 创建独立的用户数据目录
user_data_dir = os.path.join(os.path.expanduser('~'), 'chrome_data_for_scraper')
# 配置 ChromiumOptions
co = ChromiumOptions()
co.set_browser_path(path)
co.set_user_data_path(user_data_dir)
# 启动浏览器并打开指定页面
tab = Chromium(co).latest_tab
tab.get('http://DrissionPage.cn')
input("按回车键关闭浏览器...")
解决思路
在用户主目录下创建一个名为 chrome_data_for_scraper
的文件夹,作为 Chrome 的独立用户数据目录。启动 Chrome 时,使用该目录的配置,避免与默认配置冲突。
额外问题:不受支持的命令行标记
在运行过程中,可能会遇到以下提示:
您使用的是不受支持的命令行标记:–no-sandbox
通过移除 --no-sandbox
参数解决:
co.remove_arg('--no-sandbox') # 移除沙箱限制参数
项目背景
目前正在学习 DrissionPage,计划开发一个结合浏览器插件和 Python 脚本的工具,主要用于获取 KOL 达人数据。初步完成了一个 Demo。感兴趣的可以持续关注项目进展。