当前位置:   article > 正文

Java爬虫之CentOS7 安装Selenium+chrome+chromedriver+java【Java动态爬虫爬取数据环境安装一篇文章精通系列】_java chromedriver

java chromedriver

在这篇文章中,我们将学习如何在 CentOS 7 系统上安装 Java 动态爬虫所需的环境:Selenium、Chrome 浏览器和 ChromeDriver。这个教程将帮助你掌握如何搭建一个用于数据爬取的环境。

一、安装 chrome

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

二、安装 chromedriver

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

google-chrome --version
  • 1

找到与自己安装的chrome对应的chromedriver版本
https://registry.npmmirror.com/binary.html?path=chromedriver
在这里插入图片描述
在这里插入图片描述
将下载的文件解压,放在如下位置:/usr/bin/chromedriver
执行:

unzip chromedriver_linux64.zip 
  • 1

进行解压
执行:

mv -f chromedriver /usr/bin/     
  • 1

移动到

/usr/bin/chromedriver
  • 1

给予执行权限

chmod +x /usr/bin/chromedriver
  • 1

安装 XVFB

 yum install Xvfb -y
 yum install xorg-x11-fonts* -y
  • 1
  • 2

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

vim  /usr/bin/xvfb-chrome
  • 1

复制下面内容:

#!/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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

添加执行权限

chmod +x /usr/bin/xvfb-chrome
  • 1

查看当前映射关系

ll /usr/bin/ | grep chrom
  • 1

在这里插入图片描述
更改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
  • 1
  • 2
  • 3

查看修改后的映射关系

ll /usr/bin/ | grep chrom
  • 1

在这里插入图片描述

三、案例

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

下面是运行结果:
在这里插入图片描述

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

闽ICP备14008679号