Selenium-Selenium处理iframe处理及动作链

一、处理iframe处理及动作链

image

  • selenium 处理 iframe :
    • 如果定位的标签存在于ifranme 标签中,则必须使用 switch_to.frame(id)
from selenium import webdriver
import time

# 实例化一个浏览器对象
driver = webdriver.Chrome()
driver.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')

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

# 模拟拖动作用,动作链
from selenium.webdriver import ActionChains # 导入动作链的类

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

for i in range(5):
    # 移动偏移像素
    # move_by_offset(x,y) :x水平方向,y竖直方向
    # perform表示立即执行动作链
    action.move_by_offset(17, 0).perform()
    time.sleep(0.3)

# 释放动作链
action.release()
driver.close()
posted @ 2021-05-22 19:53  SRE运维充电站  阅读(100)  评论(0编辑  收藏  举报