【Linux】【Selenium】安装Chrome和ChromeDriver的配置
Linux下启动ChromeDriver的时候,发现一起代码里写的是exe文件,所以有必要就该问题进行确认
转自:https://www.cnblogs.com/longronglang/p/8078898.html
1.安装chrome
sudo apt-get install libxss1 libappindicator1 libindicator7 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome*.deb
如果上面运行 sudo dpkg -i google-chrome*.deb命令之后报错,使用如下命令修复一下: sudo apt-get install -f,之后再次运行sudo dpkg -i google-chrome*.deb命令就可以了 安装后确认/usr/bin目录下是否有google-chrome文件
也可先下载安装包到本地,在安装形式不限
2安装chromedriver
建议安装最新版本的chromedriver,下载页面:
http://chromedriver.storage.googleapis.com/index.html
在这个页面里列出了chromedriver的各个版本,我的chrome浏览器版本是v62,所以我选择的版本(2.34),
具体对应关系参看我上一篇博文:http://www.cnblogs.com/longronglang/p/8078759.html
使用命令行安装:
unzip chromedriver_linux64.zip chmod +x chromedriver sudo mv -f chromedriver /usr/local/share/chromedriver sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver 安装后确认/usr/bin目录下是否有chromedriver文件 由于时效性,在安装时应当先去网站查看最新版本,然后替换命令行中的2.34版本信息
3 字符界面运行
1
2
3
4
5
6
7
8
9
|
如果想要在字符界面使用Chrome进行测试,需要使用工具Xvfb. X Virtual Framebuffer(Xvfb)虚拟帧缓冲器,简单来说它可以直接处理 Window的图形化功能,并且不会输出到屏幕上,这就摆脱了对可视窗口的依赖 sudo apt-get -y install xvfb gtk2-engines-pixbuf
sudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
# 截图功能,可选 sudo apt-get -y install imagemagick x11-apps
Xvfb -ac :99 - screen 0 1280x1024x16 & export DISPLAY=:99
|
这项我感觉没啥用,网上看来的,但是安装完运行也没啥效果
4 demo演示
打开百度翻译首页,并输出标题,火狐和谷歌浏览器都可以,代码如下:
package demo; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class demo { public static void main(String[] args) { // TODO Auto-generated method stub // WebDriver driver = new FirefoxDriver();//火狐浏览器为注释部分 WebDriver driver=new ChromeDriver();//谷歌浏览器 driver.get("http://fanyi.baidu.com/"); driver.manage().window().maximize(); System.out.println(driver.getTitle()); driver.navigate().refresh(); // driver.close();//关闭驱动 } }
效果如下: