openEuler 安装Selenium+chrome-headless-shell+chromedriver+java
前言
之前写过一篇 CentOS7 安装Selenium+chrome+chromedriver+java 的文章,现在发现 有 chrome-headless-shell 版本更适合部署在linux 服务器上,所以写一篇文章记录下。
首先:系统环境 (原本就有的环境)
openEuler
java (jdk21)
1. chrome-headless-shell 与 chromedriver 下载
地址如下:chrome-headless-shell 与 chromedriver 下载地址
我这里直接选择当前最新的稳定版:125.0.6422.78,找到对应环境的chromedriver 与 chrome-headless-shell 下载地址下载。
wget https://storage.googleapis.com/chrome-for-testing-public/125.0.6422.78/linux64/chrome-headless-shell-linux64.zip
wget https://storage.googleapis.com/chrome-for-testing-public/125.0.6422.78/linux64/chromedriver-linux64.zip
2. 将chromedriver下载的文件解压,放在如下位置:/usr/bin/chromedriver
执行:unzip chromedriver-linux64.zip 进行解压
移动到/usr/bin/chromedriver
执行: mv -f chromedriver-linux64/chromedriver /usr/bin/chromedriver
执行:unzip chrome-headless-shell-linux64.zip 进行解压
创建软连接 这个 /home/tkan/chrome-headless-shell-linux64/chrome-headless-shell 是我的文件位置,你需要替换为你自己的文件位置
执行:ln -s /home/tkan/chrome-headless-shell-linux64/chrome-headless-shell /usr/bin/chrome
查看当前映射关系
执行:ll /usr/bin/ | grep chrom
安装一些依赖库:
执行: yum -y install libgbm
执行:yum -y install alsa-lib
执行:yum -y groupinstall "X Window System"
执行:yum install xorg-x11-fonts* -y
3. 下面是demo
@GetMapping
public String test(){
ChromeOptions options = new ChromeOptions();
//禁用沙盒
options.addArguments("no-sandbox");
//无界面参数
options.addArguments("headless");
//chrome安装位置
System.setProperty("webdriver.chrome.bin", "/usr/bin/chrome");
//chromederiver存放位置
System.setProperty("webdriver.chrome.driver","/usr/bin/chromedriver");
WebDriver driver = null;
try {
driver = new ChromeDriver(options);
driver.get("http://www.baidu.com");
//打印百度的title
System.out.println(driver.getTitle());
return driver.getTitle();
} finally {
if(Objects.nonNull(driver)){
driver.quit();
}
}
}
执行结果: