在WebDriver中将操作鼠标的方法封装在ActionChains类中,在之心的时候,必须调用perform()方法才能执行鼠标事件。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
url = "https://cn.bing.com/"
driver = webdriver.Chrome()
driver.get(url)
driver.maximize_window()
""" 模拟鼠标操作 """
# 实例化 ActionChains
# chains = ActionChains(driver)
# 定位
# username = driver.find_element_by_xpath('//*[@id="sbox"]/div[1]')
# 模拟鼠标右击事件
# ele = chains.context_click(username)
# 模式鼠标双击事件
# ele = chains.double_click(username)
# 模拟鼠标双标拖动效果 原位置 --> 目标位置
# original = driver.find_element_by_xpath('//*[@id="scpl0"]')
# target = driver.find_element_by_xpath('//*[@id="scpl4"]')
# ele = chains.drag_and_drop(original, target)
# 模拟鼠标悬停事件
# text = driver.find_element_by_partial_link_text("学术")
# ele = chains.move_to_element(text)
# 执行事件
# ele.perform()
""" 模拟键盘操作 """
time.sleep(3)
driver.quit()
下面为一些员元素的基本操作实例,还有浏览器的操作
from selenium import webdriver
import time
url = "https://cn.bing.com/"
driver = webdriver.Chrome()
driver.get(url)
# 设置浏览器最大值
# driver.maximize_window()
# 设置浏览器大小
# driver.set_window_size(300, 200)
# 设置浏览器位置,左上角为主
# driver.set_window_position(400, 300)
# 后退
# driver.find_element_by_link_text("图片").click()
# time.sleep(2)
# driver.back()
# time.sleep(2)
# 前进
# driver.forward()
# 刷新
# driver.refresh()
# 返回元素的大小
# size = driver.find_element_by_class_name("b_searchbox").size
# print("size:", size)
# 返回元素的文本
# text = driver.find_element_by_link_text("图片").text
# print("text:", text)
# 返回页面title
# title = driver.title
# print("title:", title)
# 获取当前url
# current_url = driver.current_url
# print("current_url:", current_url)
# 获取属性值
# get_attribute = driver.find_element_by_class_name("b_searchbox").get_attribute("id")
# print("get_attribute:", get_attribute)
# 判断元素是否可见
# display = driver.find_element_by_link_text("图片").is_displayed()
# print("display:", display)
# 判断元素是否可用
# enable = driver.find_element_by_link_text("图片").is_enabled()
# print("enable:", enable)
time.sleep(3)
# 关闭webdriver
driver.quit()
总结
webdriver及元素的常用方法,注意有些需要带有 括号,有些不需要
- size 返回元素大小
- text 获取元素的文本
- title 获取页面title
- current_url 获取当前页面URL
- get_attribute(“xxx”) 获取属性值;xxx:要获取的属性
- is_display() 判断元素是否可见
- is_enabled() 判断元素是否可用
- clear() 清除文本
- send_keys() 模拟输入
- click() 单击元素
WebDriver 操作浏览器方式-总结
- 最大化浏览器
driver.maximize_window() - 刷新
driver.refresh() - 后退
driver.back() - 前进
driver.forward() - 设置浏览器大小
driver.set_window_size(300,300) - 设置浏览器位置
driver.set_window_position(300,200) - 关闭浏览器单个窗口
driver.close() - 关闭浏览器所有窗口
driver.quit()