python+selenium鼠标和键盘_1.08

ActionChains类与输入事件

使用 click() 可以模拟鼠标的左键点击事件,现在的 web 页面中有很多其他的鼠标交互方式,比如鼠标右击,双击,悬停,鼠标拖放等功能。在 WebDriver 中,将这些关于鼠标操作的方法封装在 ActionChains 类

1、from selenium.webdriver.common.action_chains import ActionChains

2、ActionChains(driver):用于生成模拟用户行为

3、perform():执行存储行为

 

鼠标事件:

表达式

说明

context_click

右击事件

double_click

双击事件

drag_and_drop

拖动(拖放)

move_to_element()

鼠标停在一个元素上(鼠标悬停)

click_and_hold

按下鼠标左键在一个元素上

举例:

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Firefox()

driver.get("https://www.baidu.com")

driver.implicitly_wait(20) #等待20秒

mouse=driver.find_element_by_link_text("设置") #定位 设置 按钮

ActionChains(driver).move_to_element(mouse).perform() #鼠标悬停在 设置 按钮

driver.find_element_by_link_text("搜索设置").click() #点击设置按钮下的 搜索链接

driver.find_element_by_id("nr") #定位下拉框

driver.find_elements_by_tag_name('option')[1].click() #获取下拉框第二个选项

driver.find_element_by_xpath("//option[@value='50']").click() #获取下拉框值包含50的选项

driver.find_element_by_css_selector("[value='20']").click()

driver.find_element_by_css_selector("html body div#wrapper div.bdlayer.pfpanel div.pfpanel-bd div.pftab div.pftab_bd div#general.item.cur form div.search-setting table#gxsz tbody tr td#se-setting-3 select#nr option").click()

driver.find_element_by_css_selector("[value='20']").click() #获取下拉框值得几种写法

键盘事件:send_keys()

from selenium.webdriver.common.keys import Keys

Key 类提供了键盘上几乎所有的按键方法。通过send_key() 方法不仅可以用来模拟键盘输入,还可以用它来模拟键盘上的按键。包括组合键,比如 ctrl+a 等

表达式

说明

send_keys(Keys.BACK_SPACE)

退格键

send_keys(Keys.CONTRL,'a')

全选

send_keys(Keys.CONTRL,'V')

粘贴

send_keys(Keys.CONTRL,'C')

复制

send_keys(Keys.CONTRL,'X')

剪切

send_keys(Keys.ENTER)

回车

举例:

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.common.keys import Keys

d=webdriver.Firefox()

d.get("https://www.baidu.com")

mouse=d.find_element_by_link_text("设置")

ActionChains(d).move_to_element(mouse).perform() #鼠标悬浮在 设置上

d.find_element_by_link_text("搜索设置").click()

dd=d.find_element_by_class_name("prefpanelgo") #保存设置按钮

dd.send_keys(Keys.ENTER) #鼠标回车

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值