python爬虫学习(十):selenium处理iframe + 动作链

- selenium处理iframe
    - 如果定位的标签存在于iframe标签之中,则必须使用switch_to.frame(id)
    - 动作链(拖动):from selenium.webdriver import ActionChains
        - 实例化一个动作链对象:action = ActionChains(bro)
        - click_and_hold(div):长按且点击操作
        - move_by_offset(x,y)
        - perform()让动作链立即执行
        - action.release()释放动作链对象

示例:

from selenium import webdriver
from time import sleep
#导入动作链对应的类
from selenium.webdriver import ActionChains
bro = webdriver.Chrome(executable_path='./chromedriver')

bro.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')

#如果定位的标签是存在于iframe标签之中的则必须通过如下操作在进行标签定位
bro.switch_to.frame('iframeResult')#切换浏览器标签定位的作用域
div = bro.find_element_by_id('draggable')

#动作链
action = ActionChains(bro)
#点击长按指定的标签
action.click_and_hold(div)

for i in range(5):
    #perform()立即执行动作链操作
    #move_by_offset(x,y):x水平方向 y竖直方向
    action.move_by_offset(17,0).perform()
    sleep(0.5)

#释放动作链
action.release()

bro.quit()
posted @ 2022-04-05 14:25  simon_T  阅读(159)  评论(0)    收藏  举报