Debian下无界面使用Selenium+chromedriver进行自动化测试 —JaysonBlog

Jayson
2022-02-18 / / 297 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年02月19日,已超过964天没有更新,若内容或图片失效,请留言反馈。

前言

在Linux无界面状态下使用Selenium进行数据抓取,把脚本放到自己的服务器上进行抓取。让他自己运行着,嘻嘻嘻!!!

教程

chromedriver下载地址:http://npm.taobao.org/mirrors/chromedriver/
1,安装selenium
你可以使用 pip 命令来安装 Selenium:

pip install selenium

2,安装chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get -f install 
dpkg -i google-chrome-stable_current_amd64.deb

报错

  1. dpkg: error processing package google-chrome-stable (--install): 为这个的话
    执行一下命令:
sudo apt-get upgrade
sudo apt-get update
sudo apt-get -f install
dpkg -i google-chrome-stable_current_amd64.deb
  1. 出现警告

      ![kzsq3zg2.png](/usr/uploads/2022/02/1007580031.png)

    出现这个的时候

修改当前目录的".bashrc"

  1. vi ~/.bashrc //编辑文件
  2. export PATH=/usr/loca/sbin:/usr/sbin:/sbin:$PATH //添加内容
  3. :wq 退出
  4. source ~/.bashrc //执行命令
  5. source /etc/profile#加这一条是为了保险起见 //执行命令

3, 下载chromedriver
查看chrome版本

google-chrome --version

下面是关系表
kzr6wjv1.png

将下载好的chromedriver 放到python脚本同级目录方便调用,并修改读写权限:

chmod 755 chromedriver

测试代码

from selenium import webdriver
print('开始')
# 创建chrome对象
opt=webdriver.ChromeOptions()
# 解决DevToolsActivePort 文件不存在的报错
opt.add_argument('--no-sandbox')
# 指定浏览器分辨率
opt.add_argument('window-size=1600x900')
# 规避Bug
opt.add_argument('--disable-gpu')
# 隐藏滚动条
opt.add_argument('--hide-scrollbars')
# 不加载图片,提速
opt.add_argument('blink-settings=imagesEnabled=false')
# 不提供可视化
opt.add_argument('--headless')

web=webdriver.Chrome(chrome_options=opt,executable_path='./chromedriver')

web.get('http://www.baidu.com')
print(web.title)
web.quit()
print('结束')
0