中国搜索引擎网站排名,重庆建设工程信息网安全管理,横岗网站建设公司,建筑培训网排行榜在自动化测试中#xff0c;Selenium WebDriver是一个非常重要的工具。它提供了一种方式来模拟用户与浏览器的交互#xff0c;从而进行各种操作#xff0c;如点击按钮、输入文本等。本文将介绍WebDriver的核心方法和属性#xff0c;以及如何使用它们。
1. 启动和关闭浏览器…在自动化测试中Selenium WebDriver是一个非常重要的工具。它提供了一种方式来模拟用户与浏览器的交互从而进行各种操作如点击按钮、输入文本等。本文将介绍WebDriver的核心方法和属性以及如何使用它们。
1. 启动和关闭浏览器
在使用WebDriver之前我们需要先启动一个浏览器。这可以通过调用WebDriver的get方法来实现。例如如果我们想要启动Chrome浏览器我们可以这样做
from selenium import webdriverdriver webdriver.Chrome()
当我们完成所有的操作后我们需要关闭浏览器。这可以通过调用WebDriver的quit方法来实现
driver.quit()
2. 导航到网页
使用WebDriver我们可以很容易地导航到任何一个网页。这可以通过调用WebDriver的get方法来实现。例如如果我们想要导航到Google的主页我们可以这样做
driver.get(https://www.baidu.com/)
3. 查找元素
在网页上我们经常需要查找特定的元素如按钮、链接等。这可以通过调用WebDriver的各种查找方法来实现。例如我们可以使用find_element_by_id方法来查找具有特定ID的元素
selenium3之前的版本
element driver.find_element_by_id(my-button)
我们还可以使用find_element_by_name、find_element_by_class_name、find_element_by_tag_name、find_element_by_link_text等方法来查找元素。
selenium4版本
ID——driver.find_elementBy.ID,value
xpath——driver.find_elementBy.xpath,value
css selector——driver.find_elementBy.CSS_SELECTOR,value
class name——driver.find_elementBy.CLASS_NAME,value
name——driver.find_elementBy.NAME,value
link text——driver.find_elementBy.LINK_TEXT,value
partial link text——driver.find_elementBy.PARTIAL_LINK_TEXT,value
tag name——driver.find_elementBy.TAG_NAME,value
unicode——driver.find_elementBy.UNICODE,value
4. 操作元素
找到元素后我们可以对其进行各种操作如点击、输入文本等。这可以通过调用WebElement的方法来实现。例如我们可以使用click方法来点击一个按钮
element.click()
我们还可以使用send_keys方法来输入文本
element.send_keys(Hello, World!)
5. 获取元素的文本和属性
有时候我们需要获取元素的文本或属性。这可以通过调用WebElement的方法来实现。例如我们可以使用get_attribute方法来获取元素的属性
attribute element.get_attribute(href)
我们还可以使用text属性来获取元素的文本
text element.text
6. 处理弹出窗口和警告框
在网页上我们经常会遇到弹出窗口和警告框。这可以通过调用WebDriver的switch_to方法来处理。例如我们可以使用switch_to.alert方法来处理警告框
alert driver.switch_to.alert
alert.accept() # 接受警告框
alert.dismiss() # 取消警告框
我们还可以使用switch_to.window方法来处理弹出窗口
for handle in driver.window_handles: # 切换到新的窗口句柄即新的窗口driver.switch_to.window(handle) # 切换到新的窗口句柄即新的窗口# 在新窗口中执行操作...
7. 处理下拉列表和复选框等控件
在网页上我们经常会遇到下拉列表、复选框等控件。这可以通过调用WebElement的方法来处理。例如我们可以使用select_by_visible_text方法来选择下拉列表中的选项
element.select_by_visible_text(Option 1) # 选择“Option 1”选项
我们还可以使用is_selected方法来检查复选框是否被选中
if element.is_selected(): # 如果复选框被选中...else...如果复选框未被选中...8. 处理文件上传和下载操作
在网页上我们经常需要进行文件上传和下载操作。这可以通过调用WebElement的方法来处理。例如我们可以使用send_keys方法来上传文件
element.send_keys(/path/to/file) # 上传文件“/path/to/file”到输入框中...
整体示例
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import Byclass TestCase(object):def __init__(self):self.driver webdriver.Chrome() # 创建一个Chrome浏览器实例self.driver.get(https://www.baidu.com/) # 打开百度首页self.driver.maximize_window() # 窗口最大化sleep(1) # 等待1秒def test_prop(self):常见属性:return:print(self.driver.name) # 打印浏览器名称print(self.driver.current_url) # 打印当前URLprint(self.driver.title) # 打印当前页面标题print(self.driver.window_handles) # 打印当前窗口所有句柄print(self.driver.page_source) # 打印当前页面源码self.driver.find_element(byBy.ID, valuesu).click() # 点击搜索按钮self.driver.quite() # 关闭浏览器def test_method(self):常见方法:return:self.driver.find_element(byBy.ID, valuekw).send_keys(selenium) # 在搜索框中输入文本self.driver.find_element(byBy.ID, valuesu).click() # 点击搜索按钮sleep(3) # 等待3秒self.driver.back() # 返回上一页sleep(3) # 等待3秒self.driver.refresh() # 刷新页面sleep(3) # 等待3秒self.driver.forward() # 前进到下一个页面self.driver.close() # 只关闭当前tabself.driver.quite() # 关闭浏览器总结掌握WebDriver的核心方法和属性是进行自动化测试的基础可以帮助我们轻松地模拟用户与浏览器的交互执行各种操作。