首页 > 其他分享 >行政行不行——iframe在自动表单处理中的处理

行政行不行——iframe在自动表单处理中的处理

时间:2025-01-12 14:29:26浏览次数:3  
标签:name 处理 frame 元素 driver 表单 iframe id

学完基础应用,打开员工网页表单练手。点击菜单什么的都很顺利,但是在定位选项框的时候,就是报错,是怎么回事?没有人教,一头雾水,连搜索都找不着关键词。在盲目搜索半天后,终于,大数据指引我们到了正确的 方向——网页表单结构的原因。

查看我们要定位的元素,看是否有frame标签。

如果本级没有,就往上查找,一般在开头有一个大框架<frame> 。再接着看我们要定位的元素,是否在下一级框架<iframe>里。如果是这样的结构,就是由于iframe嵌套,导致直接定位不到。

什么是iframe,百度一下。

IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。 

属性

描述

class

classname

规定元素的类名(classname)

id

id

规定元素的特定id

style

style_definition

规定元素的行内样式(inline style)

title

text

规定元素的额外信息(可在工具提示中显示)

 

找到问题所在,解决方法就也能找到了。

from selenium import webdriver
 
web = webdriver.chrome()
web.get("https://xxxxxxx.com/")
# 定位标签
ifranme = web.find_element_by_id('login_frame')
# 切换到标签上
web.switch_to.frame(ifranme)

 

具体来说,就是frame切换。而切换方法在csdn上有很多详细的用法了,这里简单说一下,方便自己查看学习。

1、frame有具体的name 和 id 属性(id和name的属性值如果是动态变化的数字 就不能使用)——直接通过id或name属性切换iframe(如上)。

2、frame标签本身没有id 和 name 属性或者其是动态——先找到iframe,定位iframe元素(可以通过元素定位的各种方式:xpath,css等等),用对象接收,再去跳转。

 iframe = driver.find_element_by_id('iframe_id') # 根据ID查找
 iframe = driver.find_element_by_name('iframe_name') # 根据名称查找
 iframe = driver.find_element_by_css_selector('iframe_css_selector') # 根据CSS选择器查找
 iframe = driver.find_element_by_xpath('iframe_xpath') # 根据XPath查找

在解决表单跳出的过程中,还学到了其他相关的知识,放一起学习了。

1、跳转到父级iframe

driver.switchTo().parentFrame()

2、切换到默认iframe

driver.switchTo().defaultContent()

 总结:iframe往内是一层一层进,跳出可以一下子到最外层。

标签:name,处理,frame,元素,driver,表单,iframe,id
From: https://blog.csdn.net/weixin_58971210/article/details/145049952

相关文章

  • 如何处理网站后台无法登录的问题?
    为了帮助您尽快恢复正常使用,以下是详细的排查步骤和解决方案:验证登录凭据: 首先,请确保您使用的用户名和密码是正确的。密码通常是以加密形式存储在数据库中的,因此即使您记得密码,也可能会因为加密方式不同而无法匹配。建议您尝试以下方法:使用浏览器的开发者工具查看请求参数,确......
  • 如何处理无法修改云服务器系统密码的问题?
    您好,如果您遇到了无法修改云服务器系统密码的问题,这可能是由于多种原因引起的。首先,我们需要明确是忘记了远程登录密码,还是在尝试修改密码时遇到了异常。如果是忘记密码,您可以通过以下步骤进行重置:通过服务商平台重置密码:大多数云服务提供商都提供了在线重置密码的功能。您可以......
  • 绑定域名后访问需输入账号密码,且静态资源跳转至缓存地址,如何处理?
    当您绑定域名后访问网站时遇到需要输入账号密码以及静态资源跳转至缓存地址的问题,可能是由以下几种原因引起的。以下是详细的排查步骤和解决方案:确认身份验证设置:检查Web服务器(如Apache、Nginx)的配置文件,确保没有启用不必要的身份验证机制。例如,Apache的 .htaccess 文......
  • python 异常值检测与处理——3倍标准差法
    目录一、概述二、代码实现三、结果展示一、概述  3σ3σ3σ原则是一种基于正态分布的统计学原则,用于判断数据中的异常值。根据......
  • iframe框架都有哪些优缺点?
    iframe框架在前端开发中有着广泛的应用,它提供了一种将外部内容嵌入到页面中的机制。然而,就像任何技术一样,iframe也有其优点和缺点。下面是对iframe框架优缺点的详细分析:优点内容隔离与独立性:iframe可以在页面上独立显示一个页面或者内容,不会与页面其他元素产生冲突。这种隔离性......
  • 如何实现一个自定义表单?
    实现一个自定义表单主要涉及HTML、CSS和JavaScript的使用。以下是一个简单的步骤指南,帮助你从头开始创建一个自定义表单:HTML结构:使用<form>标签来创建表单。在<form>内部,使用各种输入元素,如<input>、<textarea>、<select>等,来创建不同类型的表单字段。为每个输入元素设置na......
  • 第28章 汇编语言--- 异常处理
    在汇编语言中,异常处理是一个重要的概念,它涉及到处理器如何响应和处理程序运行时发生的非正常情况。异常可以是硬件错误(例如除零错误、非法指令)或者软件触发的中断(例如系统调用)。当发生异常时,处理器会暂停当前正在执行的程序,并转移到一个预先定义好的位置来处理这个异常。为......
  • 如何处理服务器无法访问外部网址的问题
    问题描述:服务器内部尝试访问外部网址时遇到障碍,无论是通过命令行工具如wget还是简单的ping命令都无法成功获取外部资源。这种情况不仅影响了日常运维工作,也阻碍了依赖外部API接口的应用程序正常运作。解决方案:当服务器无法访问外部网址时,可能是由多种因素引起的,下面列出了一些......
  • 如何处理服务器迁移后出网IP设置问题
    问题描述:我的服务器昨晚被迁移后,出网IP设置出现了问题,导致无法正常访问外部网站。请问如何正确设置出网IP?回答:当服务器迁移后出现出网IP设置问题时,可能是由于迁移过程中的一些网络配置变化引起的。以下是一些详细的排查和解决方案:确认迁移后的网络配置:IP地址分配:首先,确认......
  • 如何处理升级为香港主机后网站无法访问的问题
    问题描述:用户报告其网站在升级为香港主机后无法正常访问。用户怀疑可能是由于主机配置或DNS解析问题导致。用户希望了解如何排查并解决这些问题,确保网站尽快恢复正常访问。解决方案:确认域名解析设置:确保所有相关域名已正确解析到新的香港主机IP地址。可以通过以下步骤检查和......