Mac系统下Selenium4.0使用二三事

Mac系统(10.15)下使用Selenium4.0启动Chrome(80.*)的若干问题

新的开始

由于之前都是在Windows下使用各种开发工具,此次转战Mac平台,从系统的熟悉,到基本软件的安装也是经历了一个不小的转变。
本文的目的:使用Mac系统,搭建一个Selenium平台,然后从IDEA中打开Chrome浏览器,在网上看过了各种版本,自己实践起来确实遇到不少问题,做个简要地记录。

环境搭建

  1. IDEA的安装:目前IDEA分为“究极”版和社区版,我使用的是破解的究极版本,在此提供网站,里面有很多MAC软件的下载和破解流程,相当详细,不同系统的软件阵地,真是各有一方天地。 精品MAC应用分享
  2. Selenium的安装:两种方法,一种是直接进行jar包的下载,然后根据需要进行导入,另一种方法是在安装好的IDEA中建立Maven工程,直接通过pom文件进行导入。
    第一种方法:下载Selenium Standalone Server 和selenium-java-*
    第二种方法:直接在工程中导入,可在最新Maven库中查找selenium的各种版本
  3. Webdriver的安装:本次我们使用最新版的Chrome进行selenium的调试,需要下载对应版本的浏览器的驱动,如何知道自己Chrome的版本,请在浏览器中输入:chrome://version/ 进行查看,我本次使用的浏览器版本号为:80.0.3987.149 (正式版本) (64 位),但是在驱动网站并没有80.0.3987.149 对应的驱动,错误的下载了一个叫LATEST_RELEASE_80.0.3987的文件,调试几次发现不对劲,然后在驱动下载网站下载了80.0.3987.16版本的驱动,事实证明是没有问题的。
    驱动安装好之后将文件放置在/usr/local/bin目录下

代码构建

以上步骤操作无误之后,打开IDEA,建立Spring Boot项目,打开pom文件,写入依赖:

<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.0.0-alpha-5</version>
</dependency>

为了后续方便,又引入了以下依赖:

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>28.2-jre</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.13</version>
        </dependency>

引入以来之后,开始写代码,正常建立一个Java类进行测试,我的代码如下:

package com.example.demo;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Selenium_test {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver","/usr/local/bin/chromedriver");
        WebDriver driver=new ChromeDriver();
        driver.get("http://taobao.com");

        String title=driver.getTitle();
        System.out.println(title);

        driver.close();
    }
}

执行代码,控制栏结果显示:

Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635c1bf81bb53a-refs/branch-heads/3987@{#882}) on port 30060
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
三月 **, 2020 ******** 下午 org.openqa.selenium.remote.ProtocolHandshake createSession
信息: Detected dialect: W3C
[1585120476.302][SEVERE]: Timed out receiving message from renderer: 0.100
[1585120476.865][SEVERE]: Timed out receiving message from renderer: 0.100
[1585120477.326][SEVERE]: Timed out receiving message from renderer: 0.100
[1585120477.623][SEVERE]: Timed out receiving message from renderer: 0.100
淘宝网 - 淘!我喜欢

另外会有如下显示:
IDEA调用Chrome浏览器打开相应的网页
在写代码的时候需要注意几个小问题:
浏览器的驱动在放入相应的文件夹之后,需要进行设置,即代码:

System.setProperty("webdriver.chrome.driver","/usr/local/bin/chromedriver");

此处要写完整路径"/usr/local/bin/这样写都会出现驱动初始化报错问题,第一次玩Selenium,还算比较可以,期待学习更多有趣的功能模块来玩耍。

如果觉得本文写的还不错的伙伴,可以给个关注一起交流进步,如果有在找工作且对阿里感兴趣的伙伴,也可以发简历给我进行内推:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值