linux centos安装google chrome浏览器使用headless无头模式 制作docker镜像

这篇具有很好参考价值的文章主要介绍了linux centos安装google chrome浏览器使用headless无头模式 制作docker镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

chromedriver 驱动下载地址:

https://npm.taobao.org/mirrors/chromedriver/

linux centos安装google chrome浏览器使用headless无头模式

用java开发爬虫,或者需要java操作控制浏览器来渲染页面,抓取页面元素,都需要在linux安装google chrome浏览器,然后就可以通过chrome driver来连接操作chrome浏览器了,下面就介绍linux centos安装google chrome浏览器.

1.linux centos7安装 google chrome

下载google浏览器并安装

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum install google-chrome-stable_current_*.rpm

一般这样是下载不到的,需要墙,你就只能墙后下载好了再上传再安装。

2.测试运行google chrome

# google-chrome --version
[14479:14479:0222/121214.627009:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

报错了

是因为,不能使用root用户运行沙盒模式,

解决方法是新建用户再测试,linux新建用户参考:linux 添加用户 并添加文件权限

然后再测试

[test@localhost root]$ google-chrome --version
Google Chrome 80.0.3987.116 

3.linux 运行google chrome浏览器headless无头模式

用headless模式打印网页pdf,注意要有运行输出文件夹的权限

google-chrome --headless --disable-gpu --print-to-pdf http://www.baidu.com
google-chrome --headless --disable-gpu --no-sandbox --print-to-pdf http://www.baidu.com
系统中文乱码

https://www.cnblogs.com/vekair/p/15878518.html

安装中文系统支持,执行下面三个命令就可以解决:
yum -y groupinstall "X Window System"
yum -y groupinstall chinese-support
yum -y groupinstall Fonts
我只成功执行了第一个和第三个 问题也解决了

安装jdk

上传jdk-8u144-linux-x64.tar.gz
将本地下载的jdk上传到 /home/work/java 目录下

[root@iZ4zeaehxxqhrn553tblkkZ /]# cd /home/work/java
[root@iZ4zeaehxxqhrn553tblkkZ /]# rz 

解压

[root@iZ4zeaehxxqhrn553tblkkZ /]# cd /home/work/java
[root@iZ4zeaehxxqhrn553tblkkZ /]# tar -zxvf jdk-8u144-linux-x64.tar.gz

配置环境变量
在/etc/profile文件的末尾加上以下配置:

[root@iZ4zeaehxxqhrn553tblkkZ /]# vim /etc/profile

末尾增加如下内容:

JAVA_HOME=/home/work/java/jdk1.8.0_144
JRE_HOME=/home/work/java/jdk1.8.0_144/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

profile文件立即生效文章来源地址https://www.toymoban.com/news/detail-486823.html

[root@iZ4zeaehxxqhrn553tblkkZ /]# source /etc/profile

错误信息记录:

Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.4.0-31-generic x86_64)

解决办法:

  chromeOptions.addArguments("--no-sandbox","--disable-dev-shm-usage","window-size=1920x3000","--disable-gpu","--hide-scrollbars","blink-settings=imagesEnabled=false","--headless");
示例代码:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/timbl/goole")
public class GooleController
{
    /**
     * 获取参数配置列表
     */
    @GetMapping("/list")
    public Object list()
    {
        //命令启动浏览器
        String os = System.getProperty("os.name");
        String drivePath = "D:\\Desktop\\工具demo\\goole\\chromedriver.exe";
        if (os.toLowerCase().startsWith("windows")) {
        } else if (os.toLowerCase().startsWith("linux")) {
            drivePath = "/usr/bin/chromedriver";
        }
        System.out.println(drivePath);
        System.setProperty("webdriver.chrome.driver", drivePath);
        //创建无Chrome无头参数
        ChromeOptions chromeOptions=new ChromeOptions();
        chromeOptions.setHeadless(Boolean.TRUE);
   
		// 
        chromeOptions.addArguments("--no-sandbox","--disable-dev-shm-usage","window-size=1920x3000","--disable-gpu","--hide-scrollbars","blink-settings=imagesEnabled=false","--headless");
        System.out.println("--------------------------------");
        WebDriver driver = new ChromeDriver(chromeOptions);

        driver.get("http://www.baidu.com");
        String title = driver.getTitle();
        System.out.println(title+"--------------------------------");
        driver.close();
        return "success";
    }

}

打包docker镜像


 本地提交打包docker
  docker commit -m="build in centos7.6.180 and jdk1.8.0_211 and google_chrome" -a="TimBL_" 999 centos7.6_jdk_chrome:v1

 打标签
 模板:
 docker tag [ImageId] 127.0.0.1/devrpa/[ImagesName]:[ImageTag]
 例子:
 docker tag c8664307af90 127.0.0.1/devrpa/centos7.6_jdk_chrome:v1

 推送到远程CCR 
 模板:
 docker push 127.0.0.1/devrpa/[ImagesName]:[ImageTag]
 例子:
 docker push 127.0.0.1/devrpa/centos7.6_jdk_chrome:v1

到了这里,关于linux centos安装google chrome浏览器使用headless无头模式 制作docker镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 安装 Google 浏览器

    下载安装包时要根据系统架构选择安装包。 查看系统架构:lscpu 1、deb 包默认是 arm 架构; 2、rpm 包默认是 x86 架构。 安装包下载路径 1、点击链接跳转后,滑倒最下边,点击其他平台; 2、点击其他平台后,根据系统架构选择需要的安装包; 打开终端,运行命令: yum locali

    2024年02月08日
    浏览(46)
  • linux下安装google谷歌浏览器

    记录下linux下安装谷歌浏览器全过程。 https://www.google.cn/intl/zh-CN/chrome/ 访问谷歌浏览器,拉到最下面 点击其他平台,选择linux 然后下载下来 下载完成后得到一个安装包 过程中如果需要安装相应的依赖包,选择y即可。 安装完成后,点击应用程序–互联网–google-chorme后会加载

    2024年02月12日
    浏览(47)
  • 【如何在 Debian、Ubuntu 或 Linux Mint 上的 Google Chrome、Brave、Vivaldi 和 Opera 浏览器中启用硬件加速视频解码】

    如何在 Debian、Ubuntu 或 Linux Mint 上的 Google Chrome、Brave、Vivaldi 和 Opera 浏览器中启用硬件加速视频解码   铬, 操作方法, 视频 Google Chrome 88(及更新版本)已在Linux上提供了硬件加速视频解码功能,但默认情况下未启用。不过,Google Chrome并不是唯一支持Linux硬件加速的基于C

    2024年02月09日
    浏览(54)
  • Google Chrome 浏览器以全屏模式打开

    win10 Google Chrome 或者 添加参数: --disable-background-networking 版本之间有差异,举几个例子 可能1 在选项页面打开高级设置,才能看到语言选项。 将“询问是否翻译非您所用语言的页面”选项禁用。 可能2 可能3 在 HTML DOM 的 head 部分添加如下执行: https://blog.csdn.net/wide288/article

    2024年02月09日
    浏览(47)
  • Selenium 远程调用 Google Chrome 谷歌浏览器

    我最近又使用谷歌浏览远程调用发现不能使用了 参考连接 具体原因是因为 谷歌浏览器在11几的版本(目前是:114.0.5735.91)之后只能使用JDK高版本我目前使用的是JDK17版本远程调用如果是低版本比如102左右的是好使的,新使用方法我更新在下面 一. 前沿 每次重新运行Selenium都直接弹

    2024年02月10日
    浏览(67)
  • 【vscode设置默认浏览器为google,配置默认浏览器没有google,VS Code 报Windows找不到文件‘chrome‘】

    VS Code 报Windows 找不到‘chrome’ 项目启动ctar+鼠标左键快捷打开并没有使用默认浏览器 并且自己去浏览器配置并提供完整的选项 网上有很多其他的答案不过对我都没有 最后解决是在google里配置 不是默认浏览器会有个按钮 点一下就跳转到系统配置默认浏览器中,选项就可以出

    2024年02月12日
    浏览(58)
  • 报错-安装谷歌浏览器报错: dpkg: error processing package google-chrome-stable (--install): dependency problems

    当执行sudo dpkg -i google-chrome-stable_current_amd64.deb ,有如下报错: 缺少依赖导致的。 安装依赖即可: sudo apt install libvulkan1

    2024年02月03日
    浏览(60)
  • 新版Microsoft Edge和google chrome谁才是浏览器的王者?

    Microsoft Edge是一款现代化的浏览器,它拥有众多功能和强大的性能,为用户带来更加流畅的浏览体验。 Edge最近推出了分屏功能,支持一个窗口同时显示两个选项卡,这可以大大提高生产力和多任务处理能力。 Microsoft Edge 是微软开发的一款网络浏览器。 它于 2015 年作为 Inter

    2024年02月08日
    浏览(77)
  • windows下Edge浏览器&Google Chrome与Safari双向同步书签

    最近刚入手了 iPad,在上面装了edge浏览器后实现了收藏夹,浏览记录同步的问题,可是Safari浏览器也同样好用,于是想体验一下不同系统之间的协同 设置和使用 Windows 版 iCloud 1 新建TXT文件,填入内容如下: 2 修改txt文件名为.reg格式,双击导入注册表 3 打开桌面版iCloud应用,

    2023年04月25日
    浏览(61)
  • Windows7关闭谷歌浏览器提示“若要接收后续 Google Chrome 更新,您需使用 Windows 10 或更高版本”的方法

    电脑比较老,系统一直没有更新,硬件和软件版本如下: 操作系统版本:Windows7 企业版 谷歌浏览器版本:109.0.5414.120(正式版本) (64 位) 该版本的谷歌浏览器是支持Windows7的最后一个版本,否则要先升级操作系统,然后才能升级谷歌浏览器。不升级也可以用,只是最近发

    2024年01月23日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包