【测试篇】Selenium + Java环境搭建

文章目录

Selenium + Java环境搭建

Java版本最低要求为8,这里默认大家都下载好了Java。😆

  1. 下载chrome浏览器(点我下载)

  2. 观察chrome版本。

  3. 下载 chrome 浏览器驱动(根据浏览器版本,选择驱动版本)

    如果是更高版本的浏览器,可以下载测试版本的驱动

配置系统环境变量PATH

  1. 解压下载好的驱动压缩包,将下载好的chromedriver.exe放到chrome浏览器安装路径下

  2. 复制chrome浏览器安装路径,开始配置环境变量

    新建然后复制地址,后续一路确定确定......

验证环境是否搭建成功

  1. 在 Java 中创建一个maven项目,在 pom.xml 文件中添加依赖。

    xml 复制代码
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>
    </dependencies>
  2. 编写代码运行

    java 复制代码
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.WebDriver;
    
    public class Main {
        public static void main(String[] args) {
            WebDriver webDriver = new ChromeDriver();
            webDriver.get("https://www.baidu.com");
        }
    }

    如果打开了浏览器,,此时说明安装成功。

常见问题&解决办法

  1. SessionNotCreatedException

    原因:selenium 找不到 Chrome.exe 的安装路径。

    解决办法:确认你下载的谷歌浏览器不是盗版的,其次确认你的chrome浏览器是否默认安装在C盘下。

    驱动实例化中使用绝对路径:

    ChromeDriver driver = new ChromeDriver("E:/browser/Google/Chrome/Application/chrome.exe); //注意:这里放自己的Chrome.exe所在路径,不要盲目复制粘贴。

  2. The version of ChromeDriver only support xxxxxxxxx

    原因:浏览器版本和驱动版本不匹配,重新在官网下载对应版本的驱动。

    下载地址:https://chromedriver.chromium.org/downloads

  3. The path to the driver executable the path to

    原因:浏览器驱动没有放到系统环境变量下

    解决办法(二选一即可):

    1. 找到驱动所在路径,复制路径并添加系统环境变量
    2. 创建驱动对象之前手动指定chromedriver.exe所在路径:System.setProperty("webdriver.chrome.driver","C:\ProgramFiles\Java\jdk1.8.0_192\chromedriver.exe")灵活调整。
  4. ConnectionFailedException/403

    解决办法:

    ChromeOptions options = new ChromeOptions();

    options.addArguments("--remote-allow-origins=*");

    WebDriver driver = new ChromeDriver(options);

相关推荐
狐凄41 分钟前
Python实例题:使用Pvthon3编写系列实用脚本
java·网络·python
Lxinccode3 小时前
Java查询数据库表信息导出Word-获取数据库实现[1]:KingbaseES
java·数据库·word·获取数据库信息·获取kingbasees信息
元亓亓亓3 小时前
Java后端开发day36--源码解析:HashMap
java·开发语言·数据结构
sd21315123 小时前
RabbitMQ 复习总结
java·rabbitmq
码银6 小时前
Java 集合:泛型、Set 集合及其实现类详解
java·开发语言
东阳马生架构6 小时前
Nacos简介—4.Nacos架构和原理
java
一只叫煤球的猫6 小时前
你真的会用 return 吗?—— 11个值得借鉴的 return 写法
java·后端·代码规范
颇有几分姿色7 小时前
Spring Boot 读取配置文件的几种方式
java·spring boot·后端
爱编程的鱼7 小时前
C# 枚举(Enum)声明与使用详解
java·windows·c#
人生导师yxc7 小时前
Spring MVC
java·spring·mvc