前言
了解网页中的iframe框架,并对其定位。随后使用动作连对网页中的小方块进行拖拽处理。
代码实现过程
先导包
from selenium import webdriver from selenium.webdriver.chrome.service import Service from time import sleep
打开谷歌浏览器,访问url
s = Service(r"./chromedriver.exe") driver = webdriver.Chrome(service=s) driver.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
选中小方块,进行标签定位,发现小方块是在iframe里,是一种网页嵌套技术,一个网页中可能有多哥iframe框架。因此需切换浏览器定位的作用域。该iframe的id是唯一的。定位到该iframe作用域后,定位到id为draggable的div即可
driver.switch_to.frame('iframeResult')#切换浏览器标签定位的作用域 div=driver.find_element_by_id('draggable')
引入动作链,导入包,点击指定标签,拖拽,释放动作链
#动作链 action=ActionChains(driver) #点击指定的标签 action.click_and_hold(div) for i in range(5): #perform表示立即执行动作连操作 水平拖动17像素,竖直0 #move_by_offset(x, y):x表示水平方向 y表示竖直方向 action.move_by_offset(17,0).perform() sleep(0.3) #释放动作链 action.release() driver.quit()
这样就对指定url的小方块实现了推拽操作