Selenium 自动化 —— 入门和 Hello World 实例

Selenium 是什么

Selenium 是一个用于自动化网页浏览器操作的工具,它支持多种浏览器和多种操作系统。主要用于测试 web 应用程序的功能,也可用于执行一些基本的浏览器操作任务,例如自动化表单填写、网页导航等。

Selenium 是一个开源项目,支持多种编程语言,如Java、Python、JavaScript等。通过这些语言的绑定库,你可以在不同的语言环境下编写 Selenium 测试脚本。

Selenium 可以做什么

Selenium 是一个功能强大的工具,用于自动化网页浏览器操作,所以我们可以用它完成很多工作。

  1. 自动化测试:这是 Selenium 最常用的用途。通过编写测试脚本,可以模拟用户在网页上的交互操作,例如点击按钮、填写表单、验证页面内容等。这样可以自动执行测试,并快速发现网站应用程序中的 bug 和问题。
  2. 跨浏览器测试:由于Selenium支持多种浏览器,包括 Chrome、Firefox、Safari、Edge 等,因此它可以用于执行跨浏览器测试,确保网站在不同浏览器上的一致性和兼容性。如果我们的网站要手动的把主流浏览器都跑一遍测试用例,那估计得崩溃。
  3. 爬虫:一般爬虫会用模拟 HTTP 请求,但是某些情况下服务端返回的是渲染后的静态页面,这时候我们就可以用 Selenium 模拟用户的点击,或者解析网页的元素得到想要的数据。
Selenium 快速入门

实践是检验真理的唯一标准,所以接下来会用百度搜索的例子展示 Selenium 的基本使用。

下载WebDriver

我们需要操作浏览器模拟用户的点击等操作,但是我们不会直接操作浏览器,而是通过间接的方式,这就是WebDriver,类似于我们各种驱动程序,如网卡驱动、磁盘驱动等等。
在这里插入图片描述

可以看到,雪人在旁边看戏

WebDriver是Selenium的一个子项目,它是Selenium中用于控制浏览器的接口。WebDriver提供了一组API,可以直接操作浏览器,模拟用户在浏览器中的各种操作。

Windows系统中,我们需要下载对应浏览器对应版本的驱动。
比如我用的是Chrome,所以在这里可以下载。

下载解压后,是一个chromedriver.exe的可执行文件,我们把它放到某个目录下,后面Java代码中会指定。

引入 Selenium 依赖

如果用的是maven管理依赖,我们可以在pom.xml中引入 Selenium 依赖:

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>
编写测试代码

代码做的事非常简单:

  1. 打开百度首页
  2. 文本框输入"Hello World"
  3. 点击搜索按钮
  4. 进入结果页面,打印输出html的title
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class BaiduSearchTest {
    public static void main(String[] args) {
        WebDriver driver = null;
        try {
            // 设置Chrome驱动的路径
            System.setProperty("webdriver.chrome.driver", "C:\\Softwares\\webdriver\\chromedriver-122\\chromedriver.exe");

            // 创建WebDriver对象
            driver = new ChromeDriver();
            // 打开百度网站
            driver.get("https://www.baidu.com");
            // 找到搜索输入框
            WebElement searchBox = driver.findElement(By.name("wd"));
            // 在搜索输入框中输入关键字
            searchBox.sendKeys("Hello World");
            // 提交搜索表单
            searchBox.submit();
            // 等待搜索结果加载
            try {
                Thread.sleep(10000); // 等待3秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            // 输出页面标题
            System.out.println("Page title is: " + driver.getTitle());
        } finally {
            // 关闭浏览器
            if(driver != null){
                driver.quit();
            }
        }
    }
}

运行Java代码,会弹出一个新的Chrome浏览器窗口。
在这里插入图片描述
到这里,我们可以通过这个例子,感受 Selenium 的强大。Selenium 还提供很多功能,后面的文章 postnull 会进一步介绍。利用这些特性,我们可以很做更多有意思的事。

注意点
  • 注意 WebDriver 和 浏览器的版本需要对应。
  • 17
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值