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

相关推荐
龙虾PRO5 小时前
能源与股票量化核心差异,AI全链路落地实操手册
java·面试·职场和发展
llwszx5 小时前
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
java·python·golang·agent开发·plan模式·规划执行模式
ZJH__GO5 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
霸道流氓气质5 小时前
SpringBoot中基于 AES-GCM + KMS 密钥管理的数据加解密 Starter 实践
java·数据库·spring boot
Gofarlic_OMS5 小时前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
乐观的Terry6 小时前
8、发布系统-完整流水线的核心
java·spring boot·spring·spring cloud
Alexalbb6 小时前
从角色过滤到可审计授权:单体系统数据权限设计复盘与演进
java
万亿少女的梦1686 小时前
基于Spring Boot的游戏交易管理系统设计与实现
java·spring boot·mysql·系统设计·交易管理
闲猫7 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
笨蛋不要掉眼泪7 小时前
Java虚拟机:常用参数
java·开发语言·python