centos下使用selenium+chrome+chromedriver

本文详细介绍了如何在无界面的CentOS7系统中安装配置Selenium与Chrome,实现自动化测试。包括了安装Chrome、Selenium、ChromeDriver,设置XVFB虚拟显示环境,以及Python测试脚本的编写。

注意:服务器选用的是centos 7。centos6.5安装配置非常麻烦,而centos7安装过程很顺畅,原因可能是centos6.5对于chrome和chromedriver的支持非常之不好,准确的说不支持chrome而必须采用chromium,chromium的安装很不顺畅,所以,建议玩centos6.5的,可以升级或者重新上一台centos7服务器吧!

在无界面的CentOS7上安装Selenium+Chrome, 并使用facebook的php-webdriver测试

系统环境

CentOS Linux 7 (Core)

安装 chrome

使用下面的命令,在root用户下就可以安装最新的 Google Chrome:

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

安装 selenium

python pip install selenium

安装 chromerriver

在 chromerriver官网下载最新的ChromeDriver压缩包,解压得到chromedriver.exe文件

将下载的文件解压,放在如下位置

/usr/bin/chromedriver

给予执行权限

chmod +x /usr/bin/chromedriver

安装 XVFB

输入如下命令

yum install Xvfb -y
yum install xorg-x11-fonts* -y

新建在/usr/bin/ 一个名叫 xvfb-chrom 的文件写入以下内容:

vi /usr/bin/xvfb-chrome
#!/bin/bash

_kill_procs() {  
  kill -TERM $chrome  
  wait $chrome  
  kill -TERM $xvfb  
}  

# Setup a trap to catch SIGTERM and relay it to child processes  
trap _kill_procs SIGTERM  

XVFB_WHD=${XVFB_WHD:-1280x720x16}  

# Start Xvfb  
Xvfb :99 -ac -screen 0 $XVFB_WHD -nolisten tcp &  
xvfb=$!  

export DISPLAY=:99  

chrome --no-sandbox --disable-gpu$@ &  
chrome=$!  

wait $chrome  
wait $xvfb

添加执行权限

chmod +x /usr/bin/xvfb-chrome

查看当前映射关系

ll /usr/bin/ | grep chrom

更改Chrome启动的软连接

ln -s /etc/alternatives/google-chrome /usr/bin/chrome  
rm -rf /usr/bin/google-chrome 
ln -s /usr/bin/xvfb-chrome /usr/bin/google-chrome

查看修改后的映射关系

ll /usr/bin/ | grep chrom

demo:

from selenium import webdriver
from pyvirtualdisplay import Display

display = Display(visible=0, size=(800,600))
display.start()
driver = webdriver.Chrome("/usr/bin/chromedriver") #此处把chromedriver文件的路径放进去
driver.get("http://www.baidu.com")
print(driver.page_source)

此处完整的打印出来百度首页的源码(</html>便是结束标签,标志程序运行成功)

### 安装和配置Selenium用于Web自动化测试 #### 准备工作 为了在CentOS使用Selenium进行Web自动化测试,需先安装必要的软件包。这包括Python解释器及其pip工具、Selenium库以及特定于浏览器的WebDriver程序。 对于Python环境,在大多数Linux发行版中,默认已经预装了Python;如果没有,则可以通过系统的包管理器来安装它。确保已更新`yum`仓库并安装最新的Python版本: ```bash sudo yum update -y && sudo yum install python3-pip -y ``` 接着,利用pip命令安装`selenium`模块[^1]: ```bash pip3 install --upgrade pip pip3 install selenium ``` #### 浏览器与WebDriver设置 针对同的浏览器,需要下载对应的WebDriver。以Google Chrome为例,访问官方提供的链接获取适用于当前操作系统的ChromeDriver二进制文件,并将其放置到系统路径下以便全局调用[^4]。 假设选择了稳定版次的新近发布版本(如v122),可以采用如下wget指令完成下载过程: ```bash cd /tmp/ wget https://storage.googleapis.com/chrome-for-testing-public/122.0.6168.0/linux64/chromedriver-linux64.zip unzip chromedriver-linux64.zip -d ~/bin/ chmod +x ~/bin/chromedriver echo 'export PATH=$PATH:~/bin' >> ~/.bashrc source ~/.bashrc ``` 上述脚本会自动解压并将可执行权限赋予chromedriver,最后一步则是将个人目录下的`bin`加入至环境变量$PATH之中,使得可以在任何地方启动该驱动程序而无需指定全路径名。 #### 编写简单的测试案例验证安装成功与否 创建一个新的Python源码文件test.py,输入下面的内容作为入门级的例子来检验整个流程是否正常运作[^2]: ```python from selenium import webdriver import time driver = webdriver.Chrome() try: driver.get('http://www.example.com') print(driver.title) finally: time.sleep(5) # 延迟关闭页面方便观察效果 driver.quit() ``` 运行此段代码之后应该能够看到打开了一个新的Chrome窗口加载example网站并且打印出了网页标题信息。如果一切顺利的话就说明已经在CentOS环境下完成了基本的Selenium Web自动化框架部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值