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
更新yum源,安装chrome
- yum update
- yum install google-chrome-stable
先查看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,那就下载这个版本
yum install unzip
unzip chromedriver_linux64.zip
ln -s chromedriver /usr/bin/chromedriver
在任意目录输入chromedriver --version有正常返回,说明安装成功了
- 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包
- <dependencies>
- <dependency>
- <groupId>org.seleniumhq.seleniumgroupId>
- <artifactId>selenium-javaartifactId>
- <version>3.141.59version>
- dependency>
- dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-maven-pluginartifactId>
- <version>1.3.3.RELEASEversion>
- <executions>
- <execution>
- <goals>
- <goal>repackagegoal>
- goals>
- execution>
- executions>
- <configuration>
- <mainClass>cn.cloud.TestMainmainClass>
- configuration>
- plugin>
- plugins>
- build>
打成可执行Jar包后放到linux服务器,通过java -jar xxx执行,打印以下信息说明成功了