selenium处理iframe和动作链

本文介绍如何使用Selenium处理网页中嵌套的iframe,以及如何通过动作链实现元素的拖动。主要内容包括:定位iframe,切换到iframe内进行元素操作;利用ActionChains进行拖放操作,具体步骤为实例化动作链对象,点击并长按目标元素,移动到指定位置,执行动作链,释放动作链。

selenium处理iframe和动作链

iframe

iframe就是一个界面里嵌套了其他界面,这个时候selenium是不能从主界面找到子界面的属性,需要先找到子界面,再去找子界面的属性

动作链(拖动)

1.from selenium.webdriver import ActionChains

2.实例化一个动作链对象:action = ActionChains(浏览器对象)

3.click_and_hold(div)

4.move_by_offset(x,y)向x,y移动像素

5.perform()让动作链立刻执行

6.action.release()释放动作链对象

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

chrome=webdriver.Chrome("chromedriver")

url="https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable"

chrome.get(url)

time.sleep(5)

#找到了子界面
chrome.switch_to.frame('iframeResult')
#找到子界面是div
div=chrome.find_element_by_id("draggable")

#创建动作链
action=ActionChains(chrome)

#点击长按指定标签
action.click_and_hold(div)

for i in range(5):
    #向x偏移17,向y偏移2  perform()执行动作链
    time.sleep(0.3)
    action.move_by_offset(17,2).perform()

time.sleep(5)
#释放动作链
action.release()

chrome.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值