当前位置:   article > 正文

CentOS7 安装Selenium+chrome+chromedriver+java_selenium+java+chromedriver 部署centos

selenium+java+chromedriver 部署centos

记录下最近用webmagic+selenium写了个爬虫,本地是在Windows上跑,后来要部署在linux服务器上,配置环境所踩过的坑。

首先:系统环境 (原本就有的环境)

                   CentOS 7 

                   java (jdk1.8)

                   tomcat8.5 

                   mysql5.7

在上有环境基础上进行操作:

             1.安装 chrome

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

             2.安装 chromedriver

                     在安装chromedriver之前,先查看自己系统装的chrome版本:

         执行:  google-chrome --version

                    查看版本对应表:找到对应版本的驱动下载   

              执行: wget   https://npm.taobao.org/mirrors/chromedriver/77.0.3865.40/chromedriver_linux64.zip(这是我对应的版本,    请更具自己的浏览器版本自行修改) 

   将下载的文件解压,放在如下位置:/usr/bin/chromedriver

      执行:unzip chromedriver_linux64.zip 进行解压

      执行: mv -f chromedriver /usr/bin/           移动到/usr/bin/chromedriver

给予执行权限

执行:chmod +x /usr/bin/chromedriver

安装 XVFB

执行: yum install Xvfb -y
执行:yum install xorg-x11-fonts* -y

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

执行:vim  /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启动的软连接 

执行:

  1. ln -s /etc/alternatives/google-chrome /usr/bin/chrome

  2. rm -rf /usr/bin/google-chrome
  3. ln -s /usr/bin/xvfb-chrome /usr/bin/google-chrome

查看修改后的映射关系

执行:ll /usr/bin/ | grep chrom

 

 

下面是demo:

  1. public String test(){
  2. ChromeOptions options = new ChromeOptions();
  3. //chrome安装位置
  4. System.setProperty("webdriver.chrome.bin", "/opt/google/chrome/chrome");
  5. //chromederiver存放位置
  6. System.setProperty("webdriver.chrome.driver",
  7. "/usr/bin/chromedriver");
  8. //无界面参数
  9. options.addArguments("headless");
  10. //禁用沙盒
  11. options.addArguments("no-sandbox");
  12. WebDriver driver = new ChromeDriver(options);
  13. driver.get("http://www.baidu.com");
  14. //打印百度的title
  15. System.out.println(driver.getTitle());
  16. return driver.getTitle();
  17. }

下面是运行结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/90020?site
推荐阅读
相关标签
  

闽ICP备14008679号