文章目录
一、前言
使用 selenium 的前提是 下载并安装一款 selenium 支持的浏览器和浏览器驱动,并且二者版本要一致,我这里安装的是 chrome 和 chromedriver
二、安装
1.lunix下的pip换源
pip config setglobal.index-url https://mirrors.aliyun.com/pypi/simple/
python -m pip install -U pip
2.安装selenium
pip install selenium
3.更新ubuntu
apt --fix-broken -y install
apt -y update
apt -y upgrade
4.安装谷歌浏览器
- 访问官网 https://www.google.cn/chrome/ 下载chrome
- 将页面拖至底部→其他平台→Linux
- 选择 .deb 文件→接收并安装
- 服务器创建 /ps/chrome 目录,将 .deb 文件上传至目录下
# 创建目录
mkdir -p /ps/chrome
# 手动上传 .deb 文件
- 安装 chrome
# 进入目录
cd /ps/chrome
# 安装依赖
apt -y install libxss1 libappindicator1 libindicator7
apt --fix-broken -y install
# 安装浏览器
dpkg -i google-chrome*.deb
# 查看版本
google-chrome --version
# Google Chrome 101.0.4951.64
5.安装chromedriver
- 根据上一步返回的 chrome 版本下载同版本的 chromedriver 访问国内镜像 https://registry.npmmirror.com/binary.html?path=chromedriver/ 下载
- 同样上传到 /ps/chrome 目录下
- 安装chromedriver
# 安装unzip
apt install unzip
# 解压
unzip chromedriver_linux64.zip# 移动并创建软连接到默认路径,后续启动selenium时就不需要指定chromedriver的路径了
mv chromedriver /usr/local/share/chromedriver
ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
三、测试
创建测试文件 test_selenium.py
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
if __name__ =='__main__':# 加载谷歌浏览器驱动
chrome_options = Options()# linux下运行记得加上这些参数 ----------------------------
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')# -----------------------------------------------------# 加载chromedriver -------------------------------------------------# windows 下的 chromedriver 默认加载路径是当前路径下的 chromedriver.exe# linux 下的 chromedriver 默认加载路径是 /usr/bin/chromedriver# 当然也可以通过 executable_path 自定义
driver = webdriver.Chrome(options=chrome_options)# -----------------------------------------------------------------# 打开百度首页
driver.get('https://www.baidu.com/')# 获取百度导航栏中的文本
xp ='//*[@id="s-top-left"]/a'
nav_list =[elm.get_attribute('text')for elm in driver.find_elements(by=By.XPATH, value=xp)]print(nav_list)# ['新闻', 'hao123', '地图', '贴吧', '视频', '图片', '网盘']
run一下
python test_selenium.py
本文转载自: https://blog.csdn.net/weixin_43721000/article/details/127006693
版权归原作者 什么都干的派森 所有, 如有侵权,请联系我们删除。
版权归原作者 什么都干的派森 所有, 如有侵权,请联系我们删除。