首页 > 编程语言 >python爬虫之iframe处理+动作链

python爬虫之iframe处理+动作链

时间:2024-06-21 21:00:22浏览次数:27  
标签:webdriver python selenium 爬虫 bro iframe action import options

python爬虫之iframe处理+动作链

selenium处理iframe

1、如果定位的标签存在于iframe标签之中,则必须使用switch_to.frame(id)
2、动作链(拖动):from selenium.webdriver import ActionChains
(1)实例化一个动作链对象:action = ActionChains(bro)
(2)click_and_hold(div):长按且点击操作
(3)move_by_offset(x,y)
(4)perform()让动作链立即执行
(5)action.release()释放动作链对象
需求:将方框拖入另一个方框中
1、拖动前
在这里插入图片描述
(2)拖动后
在这里插入图片描述
实现代码如下:

#需求:拖动方块到指定位置
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
#导入动作链对应的类
from selenium.webdriver import ActionChains

from selenium.webdriver.edge.options import Options
edge_options = Options()
edge_options.add_argument("--guest") # 启用guest模式。
# edge_options.add_experimental_option("detach",True)
# 创建一个Edge WebDriver实例
bro = webdriver.Edge(options=edge_options)

# option = webdriver.EdgeOptions()
# option.add_experimental_option("detach", True)
#
# bro = webdriver.Edge(options=option)
bro.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')


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

#动作链
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(55,0).perform()
    sleep(0.3)

#释放动作链
action.release()

bro.quit()

标签:webdriver,python,selenium,爬虫,bro,iframe,action,import,options
From: https://blog.csdn.net/qq_55829395/article/details/139869747

相关文章

  • 横向LQR、纵向PID控制进行轨迹跟踪以及python实现
    横向LQR、纵向PID控制进行轨迹跟踪以及python实现附赠自动驾驶最全的学习资料和量产经验:链接一、LQR问题模型建立:理论部分比较成熟,这里只介绍demo所使用的建模方程:使用离散代数黎卡提方程求解系统状态矩阵:输入矩阵:A矩阵:B矩阵:二、代码实现#导入相关包imp......
  • 网络爬虫设置代理服务器
          目录1.获取代理IP2.设置代理IP3.检测代理IP的有效性4.处理异常         如果希望在网络爬虫程序中使用代理服务器,就需要为网络爬虫程序设置代理服务器。设置代理服务器一般分为获取代理IP、设置代理IP两步。接下来,分别对获取代理......
  • 【每日一练】python入门级小案例
    题目数字从小到大排序 用户随意分别输入三个数,利用列表的排序方法sort()从小到大排序。代码: 输出结果: 代码分析:先创建三个变量x,y,z,用input()输入获取值;再创建一个列表,元素分别是x,y,z三个变量;利用列表的排序方法sort(),对列表从小到大排序;用for循环遍......
  • 零基础学习python-1.安装python
    1.安装python众所周知,若想学习python就得有一台电脑,如果手机端的同学也想玩python编程的话,那我建议你安装一个QPython玩玩就可以,若是想跟深度学习,那请各位少爷小姐们,一同跟随我,一步步教会你安装python及其编译器第一步.找python官网注意:请识别官网,python是免费的,别选错了......
  • Python基础教程(二十四):日期和时间
    ......
  • Python统计实战:一题搞定一元线性回归的回归系数、显著性及预测值计算
    为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。(以下练习题来源于《统计学—基于Python》。联系获取完整数据和Python源代码文件。)练习题随机抽取10家航空公司,对其最近一年的航班准点率......
  • Python统计实战:一题搞定一元线性回归分析、模型诊断分析
    为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。(以下练习题来源于《统计学—基于Python》。联系获取完整数据和Python源代码文件。)练习题下面是来自R语言的anscombeh数据集(前3行和后3行......
  • Python统计实战:一题搞定双因子方差分析(交互效应分析)
    为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。(以下练习题来源于《统计学—基于Python》。联系获取完整数据和Python源代码文件。)练习题城市道路交通管理部门为研究不同路段和不同时段......
  • python web框架哪家强?Flask、Django、FastAPI对比
    前言当你掌握了python的基础知识,并且会用和HTML和CSS编写简单的静态网页。现在你只需再掌握一个pythonweb框架的知识,就可以开始编写一个动态的网站了。目前市面比较流程的pythonweb框架有三个flask、Django、FastAPI。接下来我们对比一下。他们三个各自有什么特点。Flas......
  • Python+selenium+unittest框架实现网易邮箱的自动登录
    文章目录概要整体架构流程技术细节小结概要 本实例只针对简单的账密登录场景做处理,涉及登录方式切换、人机检测部分未作处理,后续会跟进处理。整体架构流程依赖环境    Python3.7    selenium3.141.0    ddt1.6.0        目......