栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python爬虫从入门到精通:(22)selenium 动作链ActionChains

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python爬虫从入门到精通:(22)selenium 动作链ActionChains

动作链 :一系列连续的动作(滑动)

我们来看下这个网页是可以拖动的

那么我们如何通过selenium来实现呢?

1.导入动作链包

from selenium.webdriver import ActionChains 

2.标签定位

url = 'https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'
bro = webdriver.Chrome(executable_path='./chromedriver')
bro.get(url)
sleep(1)
div_tag = bro.find_element_by_xpath('//*[@id="draggable"]')

运行一下:

我们发现,直接报错。难道我们定位错了吗?

来看下页面源码

我们看到,拖拽的对象在另一个一个框架里,我们直接定位分析都不是同一框架,当然获取不到

如果通过find系列的函数进行标签定位,如果标签是存在于ifram下面,则会定位失败

解决方案:使用switc_to即可

bro.switch_to.frame('iframeResult')
div_tag = bro.find_element_by_xpath('//*[@id="draggable"]')

3.ActionChains

# 对div_tag进行滑动操作
action = ActionChains(bro)
action.click_and_hold(div_tag)  # 点击且长按

for i in range(6):
    # perform 让动作链立即执行
    action.move_by_offset(10, 15).perform()
    sleep(0.5)
action.release()
bro.quit()

这样我们就看到了拖动

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/295984.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号