python爬虫第七章:(2)动作链和 iframe 的处理
时间:11-05来源:作者:点击数:
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()释放动作链对象
#https://www.cdsy.xyz/try/try.php?filename=jqueryui-api-droppable
from selenium import webdriver
from time import sleep
#导入动作链对应的类
from selenium.webdriver import ActionChains
#实例化
bro=webdriver.Chrome(executable_path='./chromedriver')
bro.get('https://www.cdsy.xyz/try/try.php?filename=jqueryui-api-droppable')
#如果定位的标签是存在于iframe标签之中的则必须通过如下操作在进行标签定位
bro.switch_to.frame('iframeResult') #切换浏览器标签定位的作用域
div=bro.find_element_by_id('draggable')
print(div)
#动作链
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.3)
sleep(5)
bro.quit()