selenium鼠标键盘操作及元素和浏览器操作

本文详细介绍如何使用Selenium WebDriver进行网页自动化测试,包括鼠标和键盘操作的模拟,以及各种元素和浏览器级别的操作方法。通过具体实例展示了如何利用ActionChains类模拟鼠标事件,如右击、双击、拖放和悬停等,同时提供了模拟键盘输入的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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及元素的常用方法,注意有些需要带有 括号,有些不需要

  1. size 返回元素大小
  2. text 获取元素的文本
  3. title 获取页面title
  4. current_url 获取当前页面URL
  5. get_attribute(“xxx”) 获取属性值;xxx:要获取的属性
  6. is_display() 判断元素是否可见
  7. is_enabled() 判断元素是否可用
  8. clear() 清除文本
  9. send_keys() 模拟输入
  10. click() 单击元素

WebDriver 操作浏览器方式-总结

  1. 最大化浏览器
    driver.maximize_window()
  2. 刷新
    driver.refresh()
  3. 后退
    driver.back()
  4. 前进
    driver.forward()
  5. 设置浏览器大小
    driver.set_window_size(300,300)
  6. 设置浏览器位置
    driver.set_window_position(300,200)
  7. 关闭浏览器单个窗口
    driver.close()
  8. 关闭浏览器所有窗口
    driver.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值