Linux下WebDriver的保姆式教程

由于chrome最新版不在支持centos7版本,本文采用上传包的方式进行安装

安装chrome

  1. 下载安装包

    # 网盘中下载安装包 google-chrome-stable_current_x86_64-107.rpm
    #链接: https://pan.baidu.com/s/1kN2BQviPo1WmZwPDqGkvbQ 提取码: xiao
    # 上传到/soft/chrome 目录下
    
  2. 切换国内源(阿里源)

    # 下载源文件
    https://mirrors.aliyun.com/repo/Centos-7.repo
    # 切换到 /etc/yum.repos.d/ 目录下 更换 CentOS-Base.repo
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv Centos-7.repo CentOS-Base.repo
    # 清理依赖
    yum clean all yum makecache
    
  3. 安装依赖

    yum install atk atk-devel at-spi2-atk at-spi2-core cairo cairo-devel gtk3 gtk3-devel pango pango-devel vulkan liberation-fonts wget xdg-utils
    
  4. 安装浏览器

    # 切换到安装包所在位置
    cd /soft/chrome
    # 安装浏览器
    rpm -ivh google-chrome-stable_current_x86_64-107.rpm
    
  5. 测试

    google-chrome --version
    # 展示出chrome的版本,说明安装完成
    # Google Chrome 107.0.5304.121
    # 默认的安装路径 /opt/google/chrome
    

安装webdriver

  1. 下载对应版本的驱动

    # 低版本
    https://chromedriver.storage.googleapis.com/index.html
    # 高版本
    https://chromedriver.storage.googleapis.com/index.html
    
  2. 将驱动上传到linux系统的path目录下(/usr/bin)

    cd /usr/bin
    rz chromedriver
    # 给chromedriver授权
    chmod a+x chromedriver
    

使用webdriver

  1. maven依赖

    <!-- webdriver  start -->
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>3.6.0</version>
            </dependency>
    <!-- webdriver  end -->
    
  2. 配置使用

    public class WebDriverFactory {
    
    	public static WebDriver getWebDriver() {
    		// 本机驱动位置
    //	 	System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe");
    		// 服务器驱动位置
    		System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver");
    		ChromeOptions options = new ChromeOptions();
    //		options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
    //		options.setExperimentalOption("useAutomationExtension", false);
    		options.addArguments("--disable-infobars");// # 禁止策略化
    		options.addArguments("--no-sandbox");// # 解决DevToolsActivePort文件不存在的报错
    		options.addArguments("window-size=1920x3000");// # 指定浏览器分辨率
    		options.addArguments("--disable-gpu");// # 谷歌文档提到需要加上这个属性来规避bug
    		options.addArguments("--incognito");// # 隐身模式(无痕模式)
    //		options.addArguments("--disable-javascript");// # 禁用javascript
    		options.addArguments("--start-maximized");// # 最大化运行(全屏窗口),不设置,取元素会报错
    		options.addArguments("--disable-infobars");// # 禁用浏览器正在被自动化程序控制的提示
    //		options.addArguments('--hide-scrollbars');// # 隐藏滚动条, 应对一些特殊页面
    		options.addArguments("blink-settings=imagesEnabled=true");// # 不加载图片, 提升速度
    //		options.addArguments('--headless') //# 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
    		//css搜索支持
    		options.setCapability("cssSelectorsEnabled", true);
    //		options.addArguments("blink-settings=imagesEnabled=false");// #不加载图片, 提升速度
    		options.addArguments("--disable-dev-shm-usage");
    		// 隐藏后台启动浏览器 (linux上隐藏不打开浏览器)
    		options.addArguments("--headless");
    		ChromeDriver chromeDriver=new ChromeDriver(options);
    		return chromeDriver;
    	}
    }
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值