因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享

点击关注#互联网架构师公众号,领取架构师全套资料 都在这里

0、2T架构师学习资料干货分

上一篇:2T架构师学习资料干货分享

清华出的DeepSeek使用手册,104页,真的是太厉害了!(免费领取)

完整的671B DeepSeek R1本地部署,详尽教程来了

大家好,我是互联网架构师!


1. 环境准备

要开始使用 Java + Selenium,你需要准备以下内容:

  1. Java JDK‌ (建议 JDK 8 或更高版本)

  2. IDE‌ (如 Eclipse 或 IntelliJ IDEA)

  3. Selenium WebDriver‌ (Java 客户端库)

  4. 浏览器驱动‌ (如 ChromeDriver 或 GeckoDriver)

2. 基础设置步骤

2.1 创建 Maven 项目并添加依赖

在 pom.xml 中添加 Selenium 依赖:

<dependency>    <groupId>org.seleniumhq.selenium</groupId>    <artifactId>selenium-java</artifactId>    <version>4.1.0</version> <!-- 使用最新版本 --></dependency>
2.2 下载浏览器驱动

根据你使用的浏览器下载对应的驱动:

  • Chrome: ChromeDriver

  • Firefox: GeckoDriver

将驱动放在项目目录或系统 PATH 中。

3. 第一个 Selenium 测试

以下是一个简单的测试示例,打开百度并搜索内容:

import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class FirstSeleniumTest {    public static void main(String[] args) {        // 设置驱动路径        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");        // 创建 WebDriver 实例        WebDriver driver = new ChromeDriver();        try {            // 打开百度            driver.get("https://www.baidu.com");            // 定位搜索框并输入内容            WebElement searchBox = driver.findElement(By.id("kw"));            searchBox.sendKeys("Selenium 自动化测试");            // 定位搜索按钮并点击            WebElement searchButton = driver.findElement(By.id("su"));            searchButton.click();            // 等待结果加载            Thread.sleep(3000);        } catch (Exception e) {            e.printStackTrace();        } finally {            // 关闭浏览器            driver.quit();        }    }}

4. 核心概念

4.1 WebDriver

WebDriver 是 Selenium 的核心接口,用于控制浏览器行为。

4.2 元素定位

常用定位方式:

  • By.id()
  • By.name()
  • By.className()
  • By.tagName()
  • By.linkText()
  • By.partialLinkText()
  • By.cssSelector()
  • By.xpath()
4.3 常用操作
  • click()- 点击元素

  • sendKeys()- 输入文本

  • clear()- 清除输入

  • getText()- 获取元素文本

  • getAttribute()- 获取元素属性

5. 进阶学习建议

  1. 等待机制‌:学习显式等待(WebDriverWait)和隐式等待

  2. 页面对象模型‌:设计更易维护的测试代码

  3. 测试框架集成‌:与 TestNG 或 JUnit 结合

  4. 报告生成‌:使用 Allure 或 ExtentReports 生成测试报告

ChromeDriver 的路径

在 Java + Selenium 中设置 ChromeDriver 的路径是一个关键步骤,它决定了 Selenium WebDriver 如何找到并与 Chrome 浏览器进行交互。


方法 1:在代码中设置系统属性

这是最常用的方法,直接在 Java 代码中通过 System.setProperty() 方法设置 ChromeDriver 的路径。‌示例代码‌:

import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class ChromeDriverPathExample {    public static void main(String[] args) {        // 设置 ChromeDriver 的路径        System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");        // 创建 WebDriver 实例        WebDriver driver = new ChromeDriver();        // 打开一个网页        driver.get("https://www.google.com");        // 关闭浏览器        driver.quit();    }}

说明‌:

  • 将 "C:\\path\\to\\chromedriver.exe" 替换为你本地 ChromeDriver 的实际路径。

  • 注意路径中的反斜杠 \ 需要转义为 \\


方法 2:将 ChromeDriver 添加到系统 PATH

如果你不想在代码中硬编码 ChromeDriver 的路径,可以将其添加到系统的 PATH 环境变量中。

步骤‌:

  1. 下载 ChromeDriver‌:从 ChromeDriver 官方网站 下载与你的 Chrome 浏览器版本匹配的 ChromeDriver。

  2. 解压 ChromeDriver‌:将下载的 ChromeDriver 解压到一个目录,例如 C:\chromedriver\

  3. 添加到 PATH‌:    

  • Windows‌:        

  1. 右键点击“此电脑”或“我的电脑”,选择“属性”。

  2. 点击“高级系统设置”。

  3. 点击“环境变量”。

  4. 在“系统变量”中找到 Path,点击“编辑”。

  5. 添加 ChromeDriver 的目录路径(例如 C:\chromedriver\)。

    • macOS/Linux‌:      

    1. 打开终端。

    2. 编辑 ~/.bash_profile 或 ~/.zshrc 文件,添加以下行: 

      export PATH=$PATH:/path/to/chromedriver 

    3. 保存文件并运行 source ~/.bash_profile 或 source ~/.zshrc 使更改生效。

      优点‌:

      • 无需在代码中设置路径,代码更简洁。

      • 适用于多个项目共享同一个 ChromeDriver。


      方法 3:使用 WebDriverManager 自动管理驱动

      为了避免手动下载和管理 ChromeDriver,可以使用第三方库 ‌WebDriverManager‌ 来自动下载和设置驱动路径。

      步骤‌:

      1‌.添加 Maven 依赖‌:

      import io.github.bonigarcia.wdm.WebDriverManager;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class WebDriverManagerExample {    public static void main(String[] args) {        // 自动下载并设置 ChromeDriver        WebDriverManager.chromedriver().setup();        // 创建 WebDriver 实例        WebDriver driver = new ChromeDriver();        // 打开一个网页        driver.get("https://www.google.com");        // 关闭浏览器        driver.quit();    }}

      2‌.使用 WebDriverManager 设置驱动‌: 

      import io.github.bonigarcia.wdm.WebDriverManager;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class WebDriverManagerExample {    public static void main(String[] args) {        // 自动下载并设置 ChromeDriver        WebDriverManager.chromedriver().setup();        // 创建 WebDriver 实例        WebDriver driver = new ChromeDriver();        // 打开一个网页        driver.get("https://www.google.com");        // 关闭浏览器        driver.quit();    }}
      • 无需手动下载和配置 ChromeDriver。

      • 自动处理驱动版本与浏览器版本的匹配。


      注意事项
      1. ChromeDriver 版本与 Chrome 浏览器版本匹配‌:

      • 确保下载的 ChromeDriver 版本与本地安装的 Chrome 浏览器版本兼容。

      • 可以在 Chrome 浏览器中访问 chrome://settings/help 查看版本号。

      • 路径中的空格和特殊字符‌:

        • 如果路径中包含空格或特殊字符,可能会导致路径解析错误。建议将 ChromeDriver 放在路径简单的目录中。

      • 权限问题‌:

        • 在 macOS/Linux 上,确保 ChromeDriver 文件具有执行权限。可以使用以下命令添加执行权限: 

          chmod +x /path/to/chromedriver 


        总结
        • 简单项目‌:直接在代码中设置 System.setProperty()

        • 多个项目或团队协作‌:将 ChromeDriver 添加到系统 PATH。

        • 自动化管理‌:使用 WebDriverManager 自动下载和配置驱动。

        选择适合你项目需求的方法,确保 ChromeDriver 的路径设置正确,以便 Selenium 能够顺利启动 Chrome 浏览器。

        En

        如喜欢本文,请点击右上角,把文章分享到朋友圈

        1、2T架构师学习资料干货分享

        2、10000+TB 资源,阿里云盘,牛逼!!

        3、基本涵盖了Spring所有核心知识点总结

          · END ·

        最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。

        如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描上方二维码关注一下,您的支持是我坚持写作最大的动力。求一键三连点赞、转发、在看

        图片

        👇👇戳  “阅读原文” 直接下载资料

        图片

      Logo

      Agent 垂直技术社区,欢迎活跃、内容共建。

      更多推荐