selenium git地址
https://github.com/SeleniumHQ/seleniumhq.github.io
nodeConfig.json配置地址
https://github.com/SeleniumHQ/selenium/wiki/Grid2#configuring-the-nodes-by-json(作参考)
安装wget包
yum -y install wget

xvfb安装:
wget http://vault.centos.org/6.5/os/x86_64/Packages/xorg-x11-server-Xvfb-1.13.0-23.el6.centos.x86_64.rpm

安装
yum localinstall xorg-x11-server-Xvfb-1.13.0-23.el6.centos.x86_64.rpm

验证是否安装成功
sudo Xvfb :10 -screen 0 1024x768x24 -ac -nolisten tcp -extensionRANDR &

phantomjs安装
①下载地址:链接:https://pan.baidu.com/s/1htohHis 密码:fuyy
②上传到linux下指定目录: cd /home/web/selenium_box
③再使用tar进行解压到/usr/local/目录下边 tar xvf phantomjs-2.1.1-linux-x86_64.tar -C /usr/local/

(如果报以下错误, 就执行【yum -y install bzip2】),再执行③成功


④安装依赖软件 yum -y install wget fontconfig

⑤ 重命名(方便以后使用phantomjs命令) mv /usr/local/phantomjs-2.1.1-linux-x86_64/ /usr/local/phantomjs

⑥建立软连接(在/usr/bin/目录下生产一个phantomjs的软连接,/usr/bin/) ln -s /usr/local/phantomjs/bin/phantomjs /usr/bin/
⑦验证chrom是否安装成功:
将test.js上传到【/usr/local/src】目录下,
cd /usr/local/src
phantomjs test.js
Hello world! 出现左侧字样,表示成功

安装selenium时缺少setuptools和pip
setuptools安装
①下载setuptools包 wget https://pypi.python.org/packages/source/s/setuptools/

setuptools-0.6c11.tar.gz
解压setuptools包 tar -xvf setuptools-0.6c11.tar.gz

cd setuptools-0.6c11
编译setuptools python setup.py build

开始执行setuptools安装 python setup.py install

如果报以下错误
换了个服务器后安装时报错,解决办法:

安装时后缀 --user ok

pip包
wget “https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb” --no-check-certificate

tar -axf pip-1.5.4.tar.gz

cd pip-1.5.4/
python setup.py install

安装完后,使用 pip -V

如果报错报错,如下:bash: pip: command not found…
做一个软连接即可:首先查下安装路径:
find / -name pip
ln -sv /usr/local/python/bin/pip /usr/bin/pip
路径不要根据你自己的进行改变。
安装python的selenium模块:

①下载地址:https://pypi.org/project/selenium/#files


解压tar zxvf selenium* 进入到该目录 — cd selenium.3.**** 执行安装 — python setup.py 并最后验证import成功

在setup.py文件夹下执行安装 python setup.py install

如果一直安装不成功,则有可能是python的版本低导致安装失败,就升下级,然后重新安装 selenium,以下情况是安装失败的一种

python --version查看版本,

Selenium server 下载安装
下载地址1:https://www.selenium.dev/downloads/【官网】
下载地址2:http://selenium-release.storage.googleapis.com/index.html


最终安装的selenium-server-standalone-3.141.59.jar, elenium-server-standalone-3.141.0.jar启动时一直报错,
[WebDriverServlet.] - Initialising WebDriverServlet
Exception in thread “main” java.lang.IllegalStateException: Insufficient configured threads: required=3 < max=3 for QueuedThreadPool[qtp1568059495]@5d76b067{STARTED,3<=3<=3,i=3,q=0}[ReservedThreadExecutor@9597028{s=0/1,p=0}]
at org.seleniumhq.jetty9.util.thread.ThreadPoolBudget.check(ThreadPoolBudget.java:155)


将selenium-server****.jar包上传到服务器
cd至selenium server jar包所在的路径下,用命令启动主节点hub服务:
启动的默认端口是4444,如果要改变这个端口号,则命令后加上-port XXXX,如端口号改为6666,命令为
java -jar selenium-server-standalone-3.141.59.jar -port 4444 -role hub

完成上一步操作后,在本地浏览器中打开 http://192.168..:4444/wd/hub 查看是否可以打开,可以连接如下:如果不是下面这样,则查看防火墙状态,执行【systemctl stop firewalld.service】关闭防火墙再打开该地址即可

http://192.168.31.33:4444/grid/console 查看子节点状态
谷歌浏览器安装
到此为止,已经把selenium的服务端安装好了,接下来安装谷歌浏览器
配置yum源
在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo
vim /ect/yum.repos.d/google-chrome.repo 回车
输入【i】
拷贝粘贴一下内容
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
1.按 ESC 退出编辑模式(回到命令模式)
2.输入 :wq! 保存并退出
yum -y install google-chrome-stable --nogpgcheck


找到chrome路径,并做个软连接,方便使用

启动子节点
java -Dwebdriver.chrome.driver="/usr/local/bin/chromedrive -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.31.33:4444/grid/register/ -port 5555 -maxSession 5 -browser browserName=chrome,seleniumProtocol=WebDriver,platformName=LINUX,version=83.0.4103.61
http://192.168.31.33:4444/grid/console# 可以访问,可以查看下面有哪些子节点


代码里面连接远程驱动的方式

import java.net.URL;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
/**
* 2020
* @Description: TODO
* @author: Janie.li
*/
public class TestRemote {
@Test
public void testRemote()
{
WebDriver driver= null;
try {
System.out.println("==============创建远程连接================");
ChromeOptions options = new ChromeOptions();
//如果什么参数也不配置,则会报【CapabilityNotPresentOnTheGridException: cannot find : Capabilities {browserName: chrome, version: }】
// 如果不加下面这些参数,则会报【selenium报错unknown error: DevToolsActivePort file doesn't exist】
options.setHeadless(true);
options.addArguments("--headless","--no-sandbox","--disable-dev-shm-usage","blink-settings=imagesEnabled=false","--disable-gpu");
options.setCapability(CapabilityType.BROWSER_NAME, "chrome");
///如果指定版本,则会报【Driver info: driver.version: unknown】,版本必须跟服务器上安装的版本保持一致
options.setCapability(CapabilityType.VERSION, "83.0.4103.61”);/
options.setCapability(CapabilityType.PLATFORM_NAME, "LINUX");
driver=new RemoteWebDriver(new URL("http://192.168.31.33:4444/wd/hub"), options);
driver.manage().window().maximize();
driver.get("http://www.baidu.com");
System.out.println("打开百度");
Thread.sleep(2000);
} catch (Exception e) {
e.printStackTrace();
}
finally {
//一定要释放连接,关闭资源,否则会一直占着连接,超过配置的数量,就再也连接不上了,需要去服务器手动关闭连接
System.out.println("==============关闭远程连接================");
driver.close();
driver.quit();
}
}
}
vnc的安装和配置:
https://www.cnblogs.com/heruiguo/p/7999101.html