在Web自动化测验范畴,Selenium WebDriver无疑是一颗耀眼的明星。它不仅支持多种浏览器,还供给了丰富的API来模拟用户操作,使得自动化测验变得既简单又高效。无论你是自动化测验新手还是老手,了解Selenium WebDriver的根本常识点都是十分必要的。本文将介绍Selenium WebDriver中的一些常用常识点,帮助你快速入门或稳固已有常识。

初始化WebDriver ️

在使用Selenium进行自动化测验前,首要需要初始化一个WebDriver的实例。这个实例将作为后续一切操作的根底。

from selenium import webdriver
driver = webdriver.Chrome()  # 关于Chrome浏览器
# driver = webdriver.Firefox()  # 关于Firefox浏览器

翻开网页

有了WebDriver实例后,你能够使用get办法翻开一个网页。

driver.get("http://example.com")

元素定位

自动化测验的核心在于模拟用户操作,而要操作页面上的元素,首要需要定位到这些元素。Selenium供给了多种定位方法,如id、name、class name、tag name、link text、partial link text、xpath和css selector。

element_by_id = driver.find_element_by_id("element_id")
element_by_name = driver.find_element_by_name("element_name")
# 以及其他定位办法...

从Selenium 4开始,推荐使用find_element办法,并通过By类指定定位方法:

from selenium.webdriver.common.by import By
element_by_id = driver.find_element(By.ID, "element_id")

元素交互 ️

定位到元素后,你能够使用Selenium供给的办法来模拟各种用户操作,如点击(click)、输入文本(send_keys)、清除文本框内容(clear)等。

element.send_keys("some text")
element.click()

等候机制 ⏳

在Web使用中,很多元素是异步加载的。为了保证元素现已加载完毕再进行操作,Selenium供给了显式等候和隐式等候两种等候机制。

  • 显式等候:指定一个条件和最长等候时间,如果在这段时间内条件建立,则持续执行。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "myElement"))
)
  • 隐式等候:设置一个最长等候时间,如果在这段时间内DOM中出现了代码企图拜访的元素,则持续执行。
driver.implicitly_wait(10)

处理弹窗

在Web使用中,弹窗是常见的元素之一。Selenium供给了办法来处理alert、confirm和prompt这三种弹窗。

alert = driver.switch_to.alert
alert.accept()  # 点击确认
# alert.dismiss()  # 点击撤销

完毕测验

测验完成后,应该封闭浏览器和WebDriver实例,释放资源。

driver.quit()

结尾

Selenium WebDriver是自动化测验范畴的强大东西,熟练掌握其根本常识点关于进行有效的Web自动化测验至关重要。通过本文的介绍,希望你能够对Selenium WebDriver有一个初步的了解,并在实践的测验工作中运用这些常识,进步测验效率,保证Web使用的质量。