当前位置: 首页 > news >正文

市住房和城乡规划建设局网站中国质量建设协会网站

市住房和城乡规划建设局网站,中国质量建设协会网站,电商的网站,wordpress主题宽度修改前言:自己想使用该技术实现自动化抓取音乐,目前在window上运行成功,需要在Linux Centos服务上跑,配置上出现了许多问题,特此记录。 参考文档:CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD…

前言:自己想使用该技术实现自动化抓取音乐,目前在window上运行成功,需要在Linux Centos服务上跑,配置上出现了许多问题,特此记录。

参考文档:CentOS7 安装Selenium+chrome+chromedriver+java_远方丿的博客-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();
}

http://www.yayakq.cn/news/597126/

相关文章:

  • 北京网站设计公司排行榜西昌seo快速排名
  • 装修网站平台有哪些网站如何做反爬
  • 私人做网站费用广东哪里有网站建设
  • 跨境电商怎么做一件代发中小企业网站优化
  • 弹幕网站是什么技术做的常州新北建设局网站
  • 百度做玻璃钢的网站建设银行网站查余额
  • pc网站开发微信支付wordpress固定连接无法显示
  • 品牌网站设计我的网站 dedecms
  • 开网站程序做网站服务器应该怎么配置
  • 网站不被百度收录做房产网站怎么样
  • 网站备案 信息查询网络规划设计师课件
  • 学网站开发有什么好处创建网站的一般步骤
  • 网站建设参考网站的说明网易企业邮箱是干嘛的
  • 王者荣耀网站开发目的app开发公司哪里做
  • 做网站开发 甲方提供资料微信小程序登录平台
  • 明星 卡片网站该怎么做网站建设是不是可以免费建站
  • 网站地址跟网页地址区别上海网页制作机构
  • 黑龙江网站备案管理局wordpress更改固定链接打不开
  • 有经验的常州网站建设软件开发合同注意事项
  • 云羽网络做网站怎么样wordpress修改后台登陆地址
  • 网站seo优化免输入关键词自动生成标题
  • 网站建设哪个公司的好永康企业网站建设
  • 阿里云模板建站湖南省郴州市有几个县
  • 网站开发与设计模板网络营销与策划
  • 米粒网站建设拓者设计吧官网 案例
  • 万动力网站新媒体运营基础知识
  • 湖州高端网站设计百度推广登录平台登录
  • 重庆市工程建设招投标交易中心网站wordpress全站音乐
  • 自建网站备案wordpress上传视频慢
  • 网站设计风格化免费dede企业网站模板