selenium的动作链操作

鼠标的拖动以及根据元素位置的点击。

from time import sleep
from selenium import webdriver
from selenium.webdriver import ActionChains


browser = webdriver.Chrome(executable_path=r"C:\Users\Ray R He\Desktop\chromedriver.exe")
browser.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
sleep(2)
browser.maximize_window()
browser.switch_to.frame('iframeResult')  # 若网页有iframe,则需要切换到对应的iframe才可找到元素。
div_tag = browser.find_element_by_xpath('//*[@id="draggable"]')
action = ActionChains(browser)  #  实例对象
action.click_and_hold(div_tag)  # 点击且长按
for i in range(2):
    action.move_by_offset(10, 10).perform()  # 补习加上perform(),才会立即执行。
    sleep(0.2)
action.release()  # 清除action中的元素
browser.quit()

# 以网页元素为参照物的点击,适用于12306的验证码点击
x=1
y=2
ActionChains(browser).move_to_element_with_offset(div_tag, x, y).click().perform()

 

posted @ 2021-09-08 15:57  何哈哈哈  阅读(95)  评论(0)    收藏  举报