Selenium,一个自动化测试的利器 Python 库!

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


今天我们要一起探索一个非常强大的Python库——Selenium。Selenium是一个用于自动化浏览器操作的库,常用于Web应用的测试。想象一下,你可以编写一个脚本,自动打开浏览器、点击按钮、填写表单,甚至抓取网页数据。是不是很酷?接下来,黑白将带你一步步了解Selenium的基本用法,并通过实例让你快速上手。

1. Selenium 是什么?

Selenium 是一个用于自动化浏览器操作的工具,支持多种浏览器(如Chrome、Firefox、Edge等)。它最初是为Web应用程序的自动化测试而开发的,但现在也被广泛用于网页抓取、自动化任务等场景。

简单来说,Selenium 可以让你通过编写代码来控制浏览器,模拟用户的操作。比如,你可以用它来自动登录网站、抓取数据、或者进行网页的自动化测试。

2. 安装 Selenium

在开始之前,我们需要先安装Selenium库。你可以通过以下命令来安装:

pip install selenium

除了安装Selenium库,你还需要下载对应浏览器的驱动程序。比如,如果你使用的是Chrome浏览器,你需要下载ChromeDriver。下载后,将驱动程序的路径添加到系统的环境变量中,或者直接在代码中指定驱动程序的路径。

3. 第一个Selenium脚本:打开一个网页

让我们从一个简单的例子开始。我们将使用Selenium打开一个网页,并打印出网页的标题。

from selenium import webdriver

# 创建一个Chrome浏览器实例
driver = webdriver.Chrome()

# 打开百度首页
driver.get("https://www.baidu.com")

# 打印网页的标题
print(driver.title)

# 关闭浏览器
driver.quit()

代码解释:

  • webdriver.Chrome():创建一个Chrome浏览器的实例。

  • driver.get("https://www.baidu.com"):打开指定的网页。

  • driver.title:获取当前网页的标题。

  • driver.quit():关闭浏览器。

运行结果:
当你运行这段代码时,Chrome浏览器会自动打开,并访问百度首页。然后,控制台会打印出网页的标题“百度一下,你就知道”。

4. 查找元素并与之交互

在自动化测试中,我们经常需要与网页上的元素进行交互,比如点击按钮、填写表单等。Selenium提供了多种方法来查找元素,比如通过ID、类名、标签名等。

让我们来看一个例子,假设我们要在百度首页的搜索框中输入关键词并点击搜索按钮。

from selenium import webdriver
from selenium.webdriver.common.by import By

# 创建一个Chrome浏览器实例
driver = webdriver.Chrome()

# 打开百度首页
driver.get("https://www.baidu.com")

# 查找搜索框元素
search_box = driver.find_element(By.NAME, "wd")

# 在搜索框中输入关键词
search_box.send_keys("Selenium")

# 查找搜索按钮元素
search_button = driver.find_element(By.ID, "su")

# 点击搜索按钮
search_button.click()

# 等待一段时间,观察搜索结果
import time
time.sleep(5)

# 关闭浏览器
driver.quit()

代码解释:

  • driver.find_element(By.NAME, "wd"):通过元素的name属性查找搜索框。

  • search_box.send_keys("Selenium"):在搜索框中输入关键词“Selenium”。

  • driver.find_element(By.ID, "su"):通过元素的id属性查找搜索按钮。

  • search_button.click():点击搜索按钮。

运行结果:
运行这段代码后,Chrome浏览器会自动打开百度首页,输入“Selenium”并点击搜索按钮。然后,你会看到搜索结果页面。

5. 处理动态加载的内容

有些网页的内容是通过JavaScript动态加载的,这意味着我们需要等待内容加载完成后再进行操作。Selenium提供了WebDriverWait来帮助我们处理这种情况。

让我们来看一个例子,假设我们要等待搜索结果页面中的某个元素加载完成后再进行操作。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 创建一个Chrome浏览器实例
driver = webdriver.Chrome()

# 打开百度首页
driver.get("https://www.baidu.com")

# 查找搜索框元素
search_box = driver.find_element(By.NAME, "wd")

# 在搜索框中输入关键词
search_box.send_keys("Selenium")

# 查找搜索按钮元素
search_button = driver.find_element(By.ID, "su")

# 点击搜索按钮
search_button.click()

# 等待搜索结果页面的某个元素加载完成
wait = WebDriverWait(driver, 10)
result = wait.until(EC.presence_of_element_located((By.ID, "content_left")))

# 打印搜索结果页面的标题
print(driver.title)

# 关闭浏览器
driver.quit()

代码解释:

  • WebDriverWait(driver, 10):创建一个等待对象,最多等待10秒。

  • wait.until(EC.presence_of_element_located((By.ID, "content_left"))):等待ID为content_left的元素加载完成。

运行结果:
运行这段代码后,浏览器会等待搜索结果页面中的某个元素加载完成后再继续执行后续操作。

6. 小贴士

  • 驱动程序的版本匹配:确保你下载的浏览器驱动程序版本与你的浏览器版本匹配,否则可能会出现兼容性问题。

  • 隐式等待与显式等待:Selenium提供了两种等待方式:隐式等待和显式等待。隐式等待是全局的,适用于所有元素;显式等待是针对特定元素的等待。在实际使用中,推荐使用显式等待,因为它更加灵活和精确。

7. 总结

今天,我们学习了Selenium的基本用法,包括如何安装Selenium、打开网页、查找元素、与元素交互以及处理动态加载的内容。通过这些基础知识,你已经可以开始编写简单的自动化脚本了。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
在这里插入图片描述​​
在这里插入图片描述​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值