selenium——鼠标操作ActionChains:点击、滑动、拖动


1、鼠标点击


click:鼠标左击
double_click:鼠标双击
context_click:鼠标右击
btn = driver.find_element_by_id(‘su’)

第一步:创建一个鼠标操作的对象

action = ActionChains(driver)

第二步:进行点击动作(事实上不会进行操作,只是添加一个点击的动作)

action.click(btn)

第三步:执行动作

action.perform()


2、鼠标移动


driver = webdriver.Chrome()
driver.get(‘https://www.baidu.com/’)
driver.implicitly_wait(5)

定位设置元素

set_ele = driver.find_element_by_xpath("//div[@id=‘u1’]//a[text()=‘设置’]")

第一步:创建一个鼠标操作的对象

action = ActionChains(driver)

第二步:进行移动

action.move_to_element(set_ele)

第三步:执行动作

action.perform()

三行代码写成一行:支持链式调用

ActionChains(driver).move_to_element(set_ele).perform()

等待高级设置可点击

WebDriverWait(driver,5,0.2).until(
EC.element_to_be_clickable((By.XPATH,"//a[text()=‘高级搜索’]"))
).click()

3、鼠标滑动

选择拖动滑块的节点

sli_ele = driver.find_element_by_id(‘tcaptcha_drag_thumb’)

------------鼠标滑动操作------------

action = ActionChains(driver)

第一步:在滑块处按住鼠标左键

action.click_and_hold(sli_ele)

第二步:相对鼠标当前位置进行移动

action.move_by_offset(100,0)

第三步:释放鼠标

action.release()

执行动作

action.perform()


4、鼠标在一个元素上拖动到另一个元素


s = WebDriverWait(driver, 30, 0.5).until(
EC.visibility_of_element_located((By.ID, ‘draggable’))
)
t = WebDriverWait(driver, 30, 0.5).until(
EC.visibility_of_element_located((By.ID, ‘droppable’))
)

------------鼠标滑动操作------------

action = ActionChains(driver)

第一步:拖动元素

action.drag_and_drop(s, t)

执行动作

action.perform()

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值