0


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
importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.chrome.ChromeDriver;publicclassBaiduSearchTest{publicstaticvoidmain(String[] args){WebDriver driver =null;try{// 设置Chrome驱动的路径System.setProperty("webdriver.chrome.driver","C:\\Softwares\\webdriver\\chromedriver-122\\chromedriver.exe");// 创建WebDriver对象
            driver =newChromeDriver();// 打开百度网站
            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 和 浏览器的版本需要对应。

本文转载自: https://blog.csdn.net/postnull/article/details/136723349
版权归原作者 postnull 所有, 如有侵权,请联系我们删除。

“Selenium 自动化 —— 入门和 Hello World 实例”的评论:

还没有评论