【测试篇】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);

相关推荐
架构师沉默2 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群3 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL4 小时前
JVM 类加载:双亲委派机制
java·后端
用户298698530145 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥5 小时前
原来公平锁和非公平锁差别这么大
java
渣哥5 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K5 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7255 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
isysc17 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到10 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java