[Web自动化] Selenium模拟用户的常见操作

8.8 Selenium模拟用户的常见操作

8.8.1 模拟鼠标操作

Selenium提供了多种模拟鼠标操作的方法,如点击、双击、右击和悬停等。

  • 点击(Click)
    使用click()方法模拟鼠标点击。
python 复制代码
element.click()
  • 双击(Double Click)
    虽然Selenium WebDriver API本身没有直接的double_click()方法,但可以通过ActionChains类来实现。
python 复制代码
from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(driver)
actions.double_click(element).perform()
  • 右击(Right Click)
    同样使用ActionChains类。
python 复制代码
actions.context_click(element).perform()
  • 悬停(Hover):模拟鼠标悬停在元素上。
python 复制代码
actions.move_to_element(element).perform()

8.8.2 模拟键盘操作

  • 输入文本(Send Keys)
    使用send_keys()方法模拟键盘输入。
python 复制代码
element.send_keys("Hello, Selenium!")
  • 特殊按键
    send_keys()方法还支持发送特殊按键,如回车键(Keys.RETURN)、制表符(Keys.TAB)等。
    常见键盘事件代码如下,注意要先导入:
    from selenium.webdriver.common.keys import Keys
键盘事件代码 **备注 **
send_keys(Keys.BACK_SPACE) 删除键BackSpace
send_keys(Keys.SPACE) 空格键Space
send_keys(Keys.TAB) 制表键Tab
send_keys(Keys.ESPACE) 回退键Esc
send_keys(Keys.ENTER) 回车键Enter
send_keys(Keys.CONTROL,'a') 全选Ctrl+A
send_keys(Keys.CONTROL,'c') 复制CTRL+C
send_keys(Keys.CONTROL,'x') 剪切CTRL+X
send_keys(Keys.CONTROL,'v') 粘贴Ctrl+V
send_keys(Keys.F1) 键盘F1
send_keys(Keys.F12) 键盘F12
python 复制代码
element.send_keys("username", Keys.TAB, "password", Keys.RETURN)

示例代码演示模拟用户登录、填写表单等操作

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://example.com/login")

# 填写用户名和密码
username_input = driver.find_element(By.ID, "username")
password_input = driver.find_element(By.ID, "password")
username_input.send_keys("user123")
password_input.send_keys("pass123", Keys.RETURN)

# 登录后,假设需要填写一个表单
form_input = driver.find_element(By.ID, "form_input")
form_input.send_keys("Hello, this is a test.")
form_submit = driver.find_element(By.ID, "submit_button")
form_submit.click()

# 后续操作...
driver.quit()
相关推荐
远航_19 分钟前
OpenSpec 完整详细介绍
前端·后端
召钱熏29 分钟前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站31 分钟前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
cidy_9831 分钟前
Dify 操作教程:工作流编排 & Chat 对话编排
前端·工作流引擎
tangdou36909865533 分钟前
AI真好玩系列-2分钟快速了解DeepAgents | Quick Guide to DeepAgents in 2 Minutes
前端·javascript·后端
小四的小六36 分钟前
AI Agent效果评测实战——搭完Agent才是噩梦的开始
前端
梨子同志44 分钟前
JavaScript
前端
彭于晏爱编程44 分钟前
纯 JS + Node,一个下午手搓了能读懂公司代码的 AI 助手,老板以为我转行了
前端·javascript
小九九的爸爸1 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
Delicate2 小时前
前端路由扫盲篇:Hash 模式和 History 模式到底怎么选?
前端