selenium下的webdriver方法,webdriver常见的操作方法
鼠标事件
1.常见的鼠标事件有:
在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供。ActionChains 类提供了鼠标操作的常用方法:
perform(): 执行所有 ActionChains 中存储的行为;
-
context_click(): 右击; double_click(): 双击; drag_and_drop(): 拖动; move_to_element(): 鼠标悬停。
2.案例:百度首页中 设置 悬停
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time # 打开浏览器 driver = webdriver.Chrome() # 设置浏览器最大化 driver.maximize_window() # 设置隐式等待 driver.implicitly_wait(10) # 打开百度页面 driver.get("http://www.baidu.com") time.sleep(3) # 要定位到需要悬停的位置 setting_button = driver.find_element_by_id(s-usersetting-top) # 设置鼠标悬停 """ ActionChains(driver):进行类的实例化传入的是打开的浏览器对象driver move_to_element(setting_button) 设置悬停 里面传入的定位到这个元素 perform() 执行前面的操作 """ ActionChains(driver).move_to_element(setting_button).perform()
获取断言信息
断言就是用来判断本次自动化测试是否成功的依据,常见的断言方式有:
-
根据文本内容断言 根据网页的title断言 根据网页的url地址断言
优先考虑根据文本信息断言,其次考虑根据title断言,再是根据url断言
from selenium import webdriver import time # 打开浏览器 driver = webdriver.Chrome() # 设置浏览器最大化 driver.maximize_window() # 设置隐式等待 driver.implicitly_wait(10) # 打开百度页面 driver.get("http://www.baidu.com") time.sleep(3) # 获取文本信息 # ele = driver.find_element_by_xpath(//*[@id="s-top-left"]/a[2]) # if ele.text == "hao123": # print("测试通过") # else: # print("测试不通过") # 根据网页的标题进行断言 # print("当前网页title:", driver.title) # if driver.title == "百度一下,你就知道": # print("测试通过") # else: # print("测试失败") # 根据url进行断言 print(driver.current_url)