centos7下安装无头浏览器(headless Chrome)

selenium是当前流行的WEB自动化工具,它可以启动本地浏览器,访问网页,模拟点击操作等,在自动化测试和网络爬虫中非常有用。

一般开发环境都是有图形界面的,所以本地只要安装普通浏览器就行了,但是在服务器环境是没有图形界面的,所以需要安装无头浏览器,所谓无头浏览器就是没有图形界面,但仍能实现浏览器访问网页,渲染网页的功能。

第一步,添加repo

使用vim工具新建google.repo文件

vi /etc/yum.repos.d/google.repo

然后按 i 进入编辑模式,拷贝以下代码,按ESC再输入:wq保存退出

[google]
name=Google-x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=0
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

第二步,安装chrome

更新yum源,安装chrome

yum update
yum install google-chrome-stable

第三步,安装驱动chromedriver

先查看chrome版本,再安装对应驱动

google-chrome --version

下载对应驱动

wget -N http://chromedriver.storage.googleapis.com/浏览器版本号(比如88.0.4324.96)/chromedriver_linux64.zip

如果显示404说明没对应版本,比如我的版本是105.0.5195.102就没有,那就打开http://chromedriver.storage.googleapis.com/

 然后搜索105.0.5195找最相近的版本,可以发现有105.0.5195.52,那就下载这个版本

安装unzip工具

yum install unzip

解压

unzip chromedriver_linux64.zip

建立软链接

ln -s chromedriver /usr/bin/chromedriver

在任意目录输入chromedriver --version有正常返回,说明安装成功了

使用JAVA代码测试

public class TestMain {
    public static void main(String[] args) {
        //驱动地址,如果驱动放在/local/bin中则不需要
        //System.setProperty("webdriver.chrome.driver","/usr/local/chromedriver");
        ChromeOptions chromeOptions= new ChromeOptions();
        //2.设置为headless模式(必须)  如果不写代表不打开浏览器,反之
        chromeOptions.addArguments("--headless");
        // 禁用沙箱   linux环境
        chromeOptions.addArguments("--no-sandbox");
        chromeOptions.addArguments("--disable-dev-shm-usage");
        //3.设置浏览器窗口打开大小 (非必须)
        chromeOptions.addArguments("--window-size=1920,1080");
        WebDriver driver = new ChromeDriver(chromeOptions);
        driver.get("http://www.baidu.com");
        String title=driver.getTitle();
        System.out.println(title);
        driver.quit();
    }
}

maven代码,引入依赖,打包成可执行jar包

  
    
      org.seleniumhq.selenium
      selenium-java
      3.141.59
    
  

  
    
      
        org.springframework.boot
        spring-boot-maven-plugin
        1.3.3.RELEASE
        
          
            
              repackage
            
          
        
        
          cn.cloud.TestMain
        
      
    
  

打成可执行Jar包后放到linux服务器,通过java -jar xxx执行,打印以下信息说明成功了

centos7下安装无头浏览器(headless Chrome)_第1张图片

你可能感兴趣的:(JAVA,chrome,前端)