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();//关闭驱动
    }

}
复制代码

效果如下:

 

 

版权声明:本文为conquerorren原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/conquerorren/p/9084047.html