音乐网站开发需求,asp网站采集,wordpress 导入图片不显示,如何搜索asp网站前言#xff1a;自己想使用该技术实现自动化抓取音乐#xff0c;目前在window上运行成功#xff0c;需要在Linux Centos服务上跑#xff0c;配置上出现了许多问题#xff0c;特此记录。 参考文档#xff1a;CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD… 前言自己想使用该技术实现自动化抓取音乐目前在window上运行成功需要在Linux Centos服务上跑配置上出现了许多问题特此记录。 参考文档CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSDN博客 一、环境
CentOS 7.6 java (jdk1.8)Selesium 4.11.0 二、 整体逻辑 我们明确的是在window上是安装了chrome和自带了chromeDriver的之所以能自动化启动chrome是因为我们使用ChomeDriver设置了一些参数来启动的。 1. 安装google-chrome 2. 安装chromeDriver 3. 安装XVFB主要是用来虚拟一个界面以此让chrome在CentOS下启动 三、 安装chromeDriver
去官网查看版本下载 ChromeDriver - WebDriver for Chrome - Downloads
主要是google-chrome 和 chromeDriver要进行版本对应不然会报错。
//下载安装包
wget https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/115.0.5790.170/linux64/chromedriver-linux64.zip//解压
unzip chromedriver_linux64.zip//然后将解压的chromedriver移动到 /usr/bin目录下
mv chromedriver /usr/bin///给与执行权限
chmod x /usr/bin/chromedriver//检查chromedriver版本
chromedriver -version//如果有安装错了可以清除chromedriver
sudo rm -f /usr/bin/chromedriver
四、安装google-chrome
我自己写的另一篇博客。
Linux 的Centos 7 安装 启动 Google Chrome_tengyuxin的博客-CSDN博客 //启动命令 google-chrome --no-sandbox //报错信息 Missing X server or $DISPLAY The platform failed to initialize. Exiting. NaCl helper process running without a sandbox! Most likely you need to configure your SUID sandbox correctly 缺少X服务器或$DISPLAY 平台初始化失败。正在退出。 NaCl辅助进程在没有沙箱的情况下运行 很可能您需要正确配置SUID沙箱 上面的错误就是Centos 7.6下本身无界面无法像window上启动chrome所以此时我们要安装XVFB来虚拟一个界面让其能打开chrome。下面就是安装XVFB
五、 XVFB XVFB是一个X服务器可以在没有显示硬件和物理输入设备的机器上运行。也就是能在Centos上虚拟一个界面让google-chrome浏览器运行。 //全局安装Xvfb
yum install Xvfb -y//安装Xvfb相关的依赖
yum install xorg-x11-fonts* -y 在/usr/bin/ 新建一个名叫 xvfb-chrom 的文件写入以下内容
#!/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:99chrome --no-sandbox --disable-gpu$
chrome$!wait $chrome
wait $xvfb添加执行权限 chmod x /usr/bin/xvfb-chrome 查看当前映射关系 ll /usr/bin/ | grep chrome 更改Chrome启动的软连接
/* 下面的操作主要就是让xvfb-chrome成为运行的主体这样chrome在xvfb下就可以运行 */// 创建一个软连接
ln -s /etc/alternatives/google-chrome /usr/bin/chrome//删除google-chrome
rm -rf /usr/bin/google-chrome//创建一个软连接
ln -s /usr/bin/xvfb-chrome /usr/bin/google-chrome
查看修改后的映射关系 ll /usr/bin/ | grep chrom 下面是案例注意代码执行顺序
public void test(){//1. 准备Chrome的配置参数ChromeOptions options new ChromeOptions();options.addArguments(headless); //无界面参数options.addArguments(no-sandbox); //禁用沙盒//2. 创建chromeDriver驱动设置参数WebDriver driver new ChromeDriver(options);//3. 在浏览器上执行操作 导航到一个网址driver.get(https://www.baidu.com/);//4. 请求浏览器的信息String title driver.getTitle();System.out.println(浏览器的信息title);//5. 关闭浏览器driver.quit();
}