1. 安装Chrome
1.1 添加安装地址
cd /etc/yum.repos.d
touch google-chrome.repo
vim google-chrome.repo
google-chrome.repo里的内容如下:
[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.2 安装命令如下,nogpgcheck参数是表示忽略公钥检测安装
yum -y install google-chrome-stable --nogpgcheck
查看安装Chrome的版本:
google-chrome --version
2. 下载与本地Chrome版本一致的Driver
http://chromedriver.storage.googleapis.com/index.html
如果没有完全匹配的,可以下载小版本号相近的,比如你的Chrome是113.0.5672.127,可以下载113.0.5672.63的驱动。
2.1 将Linux版本的driver解压后,上传到阿里ECS
2.2 移动到bin目录
mv chromedriver /usr/bin/
2.3 加权限
chmod +x /usr/bin/chromedriver
2.4 查看驱动版本
chromedriver --version
3. Java代码
3.1 pom.xml里加入依赖包
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-http-jdk-client</artifactId>
<version>4.5.0</version>
</dependency>
3.2 设置驱动的位置webdriver.chrome.driver
System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver");
System.setProperty("webdriver.http.factory", "jdk-http-client");
注意,webdriver.http.factory也是必需的,否则会报错"selenium.remote.http.ConnectionFailedException: Unable to establish websocket"
3.3 new WebDriver对象
ChromeOptions options = new ChromeOptions();
options.addArguments("--no-sandbox");
options.setExperimentalOption("excludeSwitches", List.of("enable-automation"));
options.addArguments("--headless");
driver = new ChromeDriver(options);
3.4 使用这个对象可以访问网站Url了