CentOS7 安装Selenium+chrome+chromedriver

2024-09-06 14:08

本文主要是介绍CentOS7 安装Selenium+chrome+chromedriver,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在无界面的CentOS7上安装Selenium+Chrome,并使用facebook的php-webdriver测试

系统环境
Operating System: CentOS Linux 7 (Core)
Kernel: Linux 3.10.0-693.17.1.el7.x86_64
Architecture: x86-64
安装 chrome
使用下面的命令,在root用户下就可以安装最新的 Google Chrome:
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
安装 selenium
在 seleniump官网 找到最新的版本,下载selenium-server-standalone-X.XX.X.jar文件

注意:最新的版本3.11,不是3.9(2018年3月)

selenium-server-standalone-3.11.0.jar

selenium服务初始化
将上述selenium放入一个文件夹中,输入如下命令初始化

java -jar selenium-server-standalone-3.11.0.jar

注意,需要 java8 环境,可以参考 CentOS7安装java运行环境jdk

安装 chromerriver
在 chromerriver官网下载最新的ChromeDriver压缩包,解压得到chromedriver.exe文件

chromedriver_linux64.zip 2018-03-20 15:22:39

将下载的文件解压,放在如下位置

/usr/bin/chromedriver

给予执行权限

chmod +x /usr/bin/chromedriver

安装 XVFB
输入如下命令
# yum install Xvfb -y  
# yum install xorg-x11-fonts* -y
新建在/usr/bin/ 一个名叫 xvfb-chrom 的文件写入以下内容:

vi /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
-rwxr-xr-x   1 root root   7874704 Mar 20 14:55 chromedriver
lrwxrwxrwx   1 root root        31 Mar 20 00:24 google-chrome -> /etc/alternatives/google-chrome
lrwxrwxrwx   1 root root        32 Mar 20 14:30 google-chrome-stable -> /opt/google/chrome/google-chrome
更改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
查看修改后的映射关系

ll /usr/bin/ | grep chrom
-rwxr-xr-x   1 root root   7874704 Mar 20 14:55 chromedriver
lrwxrwxrwx   1 root root        31 Mar 20 00:24 chrome -> /etc/alternatives/google-chrome
lrwxrwxrwx   1 root root        22 Mar 20 00:11 google-chrome -> /usr/bin/xvfb-chromium
lrwxrwxrwx   1 root root        32 Mar 20 14:30 google-chrome-stable -> /opt/google/chrome/google-chrome
-rwxr-xr-x   1 root root       432 Mar 20 00:09 xvfb-chrome
使用facebook的php-webdriver测试
<?php
// An example of using php-webdriver.
// Do not forget to run composer install before and also have Selenium server started and listening on port 4444.
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
// start Chrome with 5 second timeout
$host = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities, 5000);

// navigate to 'http://www.baidu.com/'
$driver->get('https://www.baidu.com/');

// wait until the page is loaded
// $driver->wait()->until(
//     WebDriverExpectedCondition::titleContains('百度')
// );

// print the title of the current page
echo "The title is '" . $driver->getTitle() . "'\n";
// print the URI of the current page
echo "The current URI is '" . $driver->getCurrentURL() . "'\n";

// print the pagesource of the current page
$html_selenium = $driver->getPageSource();
echo $html_selenium;

// close the browser
$driver->quit();
--------------------- 
作者:herobacking 
来源:CSDN 
原文:https://blog.csdn.net/herobacking/article/details/80276060 
版权声明:本文为博主原创文章,转载请附上博文链接!

这篇关于CentOS7 安装Selenium+chrome+chromedriver的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142224

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme