软件测试|Python Selenium 库安装使用指南

简介

Selenium 是一个用于自动化浏览器操作的强大工具,它可以模拟用户在浏览器中的行为,例如点击、填写表单、导航等。在本指南中,我们将详细介绍如何安装和使用 Python 的 Selenium 库。

安装 Selenium 库

使用以下命令可以通过 pip 安装 Selenium 库:

pip install selenium

安装 WebDriver

安装selenium之后,我们暂时还不能直接使用脚本去操作浏览器,还需要我们下载浏览器对应的驱动,Chrome,edge,Firefox等不同浏览器需要下载不一样的驱动,同时,驱动也需要对应浏览器的版本,如114版本的Chrome浏览器,驱动也只能是114版本的Chromedriver。

  • Chrome: 下载 Chrome WebDriver
  • Firefox: 下载 Gecko WebDriver
  • Edge: 下载 Edge WebDriver
  • 其他浏览器: 根据浏览器类型下载对应的 WebDriver

注:115版本之后的Chromedriver下载地址为:Chromedriver下载地址

下载 WebDriver 后,将其可执行文件所在的路径添加到系统的环境变量中,以便 Selenium 可以找到它。

使用示例

  1. 第一个示例:打开网页
from selenium import webdriver

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

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

# 关闭浏览器
driver.quit()
  1. 定位元素

使用 Selenium 可以通过多种方式定位页面中的元素,例如 ID、类名、XPath 等。

from selenium.webdriver.common.by import By


element = driver.find_element(By.ID, "element_id")
element = driver.find_element(By.CLASS_NAME, "element_class")
element = driver.find_element(By.CSS_SELECTOR, "css_selector_expression")
element = driver.find_element(By.XPATH, "//xpath_expression")
  1. 填写表单
input_element = driver.find_element(By.ID,"username")
input_element.send_keys("your_username")

password_element = driver.find_element(By.ID,"password")
password_element.send_keys("your_password")

submit_button = driver.find_element(By.ID,"submit_button")
submit_button.click()
  1. 点击操作
button = driver.find_element(By.ID,"button_id")
button.click()
  1. 等待元素加载

有时候页面元素不会立即加载完毕,需要等待一段时间。可以使用 WebDriverWaitexpected_conditions 来实现等待。

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

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, "element_id")))

总结

通过这个详细的指南,你应该能够开始使用 Selenium 在 Python 中自动化浏览器操作。根据需要,还可以进一步学习如何处理更复杂的操作、处理弹窗、截图等。Selenium 是一个功能强大的工具,可以在自动化测试、爬虫、数据采集等场景中发挥巨大作用。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

你可能感兴趣的:(软件测试,python,selenium,开发语言,软件测试,功能测试,自动化测试,程序人生)