如何定位检查不到的元素

光标离开输入框时,输入框立刻消失,导致无法查看该元素的html标签属性,如何定位这种元素呢?有两种方法,一种是通过事件监听器,另一种是通过网络接口抓包

1、首先定位到搜索按钮

这个搜索的按钮,当点击时,会触发事件,有一个搜索框。

上面还有一个搜索框,他们的class是一样的,所以不能用class去定位。

但是我们观察到"我的播放列表"搜索框里面有个search文本,可以用xpath定位到它。

复制代码
login.find_element(By.XPATH,'//i[text()="search"]').click()

点击搜索按钮后,会有搜索框

点开之后,会有一个form标签,一展开就没了。

当你点击这个搜索按钮,就会触发一个事件,javascript去产生一个事件。

第一种方式 通过事件监听器

1.通过事件监听器,找到对应的javascript

在这里面,我们看到搜索按钮有一个事件监听器,当你点击后,就会触发一个事件,执行一个_commons.js的代码。就可以看到js的源码

2.通过点击"{}"美化javascript

这里有个大括号,可以美化源代码。这就是这个网站原本的javaScript代码。

3.搜索"create Element('form')"

按ctrl+F,搜索"createElement('form'"

4.找出name属性,根据name属性定位。

这里面有两个,第一个是最上面的搜索的,name:'q' ,

第二个创建了一个搜索框。可以看到name:'aq'

第二种方式 通过网络接口

1.F12在开发者模式中,选择网络

先点击网络---清空

2.手工执行一次搜索操作

此时输入一个a,

3.分析抓到的数据包

这个时候,我们就知道这个搜索框的名字叫"aq",

4、网络的参数名就是输入框的name属性.

我们看到aq=a aq就是输入框的name.

此时,把搜索信息输入,并点击确认,就可以搜索到需要搜索的内容。

复制代码
        login.find_element(By.NAME,'aq').send_keys('a.mp4')
        ac.send_keys(Keys.ENTER).perform()
相关推荐
雨季666几秒前
Flutter 三端应用实战:OpenHarmony 简易“动态内边距调节器”交互模式深度解析
javascript·flutter·ui·交互·dart
天人合一peng15 分钟前
Unity中button 和toggle监听事件函数有无参数
前端·unity·游戏引擎
会飞的战斗鸡33 分钟前
JS中的链表(含leetcode例题)
javascript·leetcode·链表
方也_arkling1 小时前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
qq_177767371 小时前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_177767371 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
web打印社区1 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
RFCEO2 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素
烬头88212 小时前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos