selenium键盘鼠标操作网页

selenium键盘鼠标操作网页

网页的前进和后退操作

from selenium import webdriver

driver = webdriver.Firefox()

#刷新当前页面
driver.refresh() 
#网页后退
driver.back()
#网页前进
driver.forward()

在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供。

ActionChains 类提供了鼠标操作的常用方法:

    perform(): 执行所有 ActionChains 中存储的行为; context_click(): 右击; double_click(): 双击; drag_and_drop(): 拖动; move_to_element(): 鼠标悬停。

鼠标悬停

from selenium import webdriver
# 引入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.cn")
# 定位到要悬停的元素  设置 按钮
above = driver.find_element_by_id(s-usersetting-top)
# 对定位到的元素执行鼠标悬停操作 
ActionChains(driver).move_to_element(above).perform()

理解:
from selenium.webdriver import ActionChains
导入提供鼠标操作的 ActionChains 类。

ActionChains(driver)
调用 ActionChains()类, 将浏览器驱动 driver 作为参数传入。

move_to_element(above)
move_to_element方法用于鼠标移动到某个元素

perform()
执行所有 ActionChains 中存储的行为, 可以理解成是对整个操作的提交动作。

冻结鼠标悬停的窗口:
setTimeout(function(){
          
   debugger},5000)

键盘操作

from selenium import webdriver
# 引入 Keys 模块
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()

#打开网页
driver.get("http://www.baidu.com")
#获取网页的标题
driver.title
print(driver.title)
#获取网页的地址URL
driver.current_url
print(driver.current_url)

#定位输入框 输入内容
driver.find_element_by_id("kw").send_keys("美团外卖")

time.sleep(3)

#删除多输入的 数字2
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

# 空格Keys.SPACE
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys("接新单了")

#全选
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, a)
#
#剪切
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, x)
time.sleep(2)

#粘贴
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, v)
#
#回车操作
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
经验分享 程序员 微信小程序 职场和发展