Crawlab安装Chrome驱动(配合DrissionPage和Selenium)

安装chrome驱动是自己的爬虫调取,不需要再docker-compose.yml配置一个新的服务,即使配置了你的爬虫也无法使用。

安装步骤:

1.进入到对应容器


docker ps  # 查看正在运行的容器
# 或查看所有容器(包括停止的)
docker ps -a
运行的容器名字

# 格式:docker exec -it 容器名 bash
docker exec -it crawlab_master bash  # 这个是进入主节点,

(拒绝访问则以管理员身份运行cmd窗口)

 上图所示说明已经进入到容器内。

2.进行chrome驱动的下载:

因为镜像下载很慢,我们需要换一个阿里的镜像:

# 备份原有源列表
cp /etc/apt/sources.list /etc/apt/sources.list.bak


# 替换为阿里云 Ubuntu 22.04 (jammy) 镜像源
cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF


# 更新源列表
apt-get update

# 安装
apt-get install -y google-chrome-stable

# 验证安装
google-chrome --version

当你验证完了很可能找不到,那需要进行以下操作:

1.命令执行下面这个全部:
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor > /usr/share/keyrings/google-chrome.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list


2. # 更新软件包列表
apt-get update


3. # 安装 Chrome
apt-get install -y google-chrome-stable


4.再次验证
google-chrome --version

### DrissionPage Selenium 安装失败的解决方案 #### 关于 Selenium安装问题 Selenium 是一个强大的自动化测试工具,但在某些情况下可能会遇到安装失败的情况。通常这可能是由于依赖库缺失或者环境配置不当引起的。以下是可能的原因及对应的解决方法: 1. **Python 版本不匹配** 如果 Python 环境版本过低或过高,可能导致 Selenium 不兼容。建议使用 Python 3.6 及以上版本[^1]。 2. **pip 工具异常** 使用 `pip` 安装 Selenium 时如果出现错误,可以尝试升级 pip 或者指定特定版本进行安装: ```bash python -m pip install --upgrade pip pip install selenium==4.8.0 ``` 3. **缺少驱动程序支持** Selenium 需要浏览器驱动(如 ChromeDriver),如果没有正确下载并配置路径,则会报错。可以通过以下方式自动管理驱动: ```python from selenium import webdriver driver = webdriver.Chrome(service_log_path=None, options=webdriver.ChromeOptions()) ``` 同时确保已将驱动文件放置到系统的 PATH 中。 --- #### 关于 DrissionPage安装问题 DrissionPage 是一种基于 Selenium 扩展开发的新一代页面操作框架,在实际应用中有其独特优势但也存在一些局限性。对于提到的 “无法连接 Google 浏览器”的情况,具体分析如下: 1. **User Data 地址冲突** 当前很多用户反馈是因为默认 User Data 文件夹被占用而导致启动失败。可尝试更改数据目录位置来规避此问题: ```python from drission import Drission d = Drission(chrome_options={'user_data_dir': '/path/to/new/user/data'}) page = d.page() ``` 2. **端口监听失效** 若发现运行后未能成功绑定至本地调试端口 (e.g., `127.0.0.1:9222`) ,则需确认是否有其他进程占用了该端口号。另外也可以手动调整远程调试端口设置: ```python chrome_args = ['--remote-debugging-port=9223'] d = Drission(chrome_options={'arguments': chrome_args}) ``` 3. **Beta 版本稳定性不足** 如引用所言,“现阶段应该都是 Google 默认 Chrome\User Data 地址无法使用”,说明官方尚未完全修复这一缺陷。因此推荐暂时回退稳定版本直至新版本发布为止[^2]。 --- #### 综合处理思路 无论是针对 Selenium 还是 DrissionPage安装难题,都应遵循以下原则逐一排查: - 检查当前使用的软件包是否最新; - 明确所需依赖项及其对应关系; - 调整参数设定以适应不同场景需求; 最终目标在于构建一套健壮可靠的自动化测试体系结构,从而有效应对各类复杂业务逻辑验证任务。 ```python from selenium import webdriver import os # 设置 chromedriver 路径 chrome_driver_path = "/usr/local/bin/chromedriver" os.environ["PATH"] += f":{os.path.dirname(chrome_driver_path)}" driver = webdriver.Chrome(executable_path=chrome_driver_path) driver.get('http://www.example.com') print(driver.title) driver.quit() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不叫十三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值