使用selenium定位input标签下的下拉框

【UI自动化】selenium元素定位各种框实例操作大全 关于Form表单下的那些框框如何定位,包含文本框、多行文本框、单选框、复选框、密码框、选择框、按钮、重置按钮、提交按钮、图像元素、搜索框等框框,后续持续更新实例~ 阅读详情
AI摘要

本文详细介绍了在Selenium中如何定位并操作非传统select类型的下拉列表,通过使用CSS_SELECTOR定位<input>标签,并结合send_keys及click方法完成下拉列表的选择。

先来看一下页面效果:是一个可输入的下拉列表

在这里插入图片描述

再来看一下下拉框的实现方式: 是用<ul>和<li>方式来实现的下拉框,不是select类型的,所以不能用传统的select定位方法。

在这里插入图片描述


在着手定位元素前一定一定要先弄清楚下拉列表的实现方式!!! 我一开始就是看到是下拉列表,想当然的采用select方法来定位,然后报错了QAQ ,大概意思是说该元素不支持使用select方法,然后才想着看一下实现代码,结果才发现下拉框字段是在<input>标签下的。


在这里插入图片描述

解决思路:

 1、定位下拉框
 2、因为是<input>标签,因此使用send_keys方法给下拉框传值
 3、定位到下拉项
 4、点击下拉项
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


代码实现:

# 导入包
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 定位下拉框
mcc_name = 'body > div.el-dialog__wrapper.created-small-margin > div > div.el-dialog__body > div > form > div:nth-child(5) > div > div > div > input'

# 使用send_keys方法给下拉框传值
industry = driver.find_element(By.CSS_SELECTOR, mcc_name)
industry.send_keys('零售业 / 综合零售 / 百货商店')
time.sleep(1)

# 定位下拉项
indus = 'body > div.el-popper.el-cascader__dropdown > div.el-cascader__suggestion-panel.el-scrollbar > div.el-scrollbar__wrap > ul > li'

# 点击下拉项   
driver.find_element(By.CSS_SELECTOR, indus).click()


常见问题:

元素定位不到怎么办?

多尝试几种定位方式,这个不行换另一个试试,八种定位方式总有一种适合。

另外,不要太过依赖F12直接copy的selector和Xpath, 因为很有可能就是这个原因导致的!!!有很多时候直接copy过来拿去定位,就会定位不到,实在不行手动输入定位一下。

适当的添加延时时间。 很多时候操作太快也有可能导致元素定位不到,比如在这个例子的给下拉框传值和点击下拉项之间,如果不添加延时time.sleep(1),也会导致下拉项元素定位不到。

day02:input、下拉框、文本域、frameset(target、name)、div、css、行内内部外部导入、选择器、字体的样式、文本的样式、背景的样式、边框样式、轮廓样式、列表的样式 一 回顾 1.html是超本文标记语言 2.web前端的三剑客:html css js 3.html常用的标签 标题标签 <h1></h1> <h6></h6> 图像:<img src="路径" width="宽度" height="高度" alt="图片加载错误的提示信息" title="鼠标移入的提示信息"> 超链接:<a href="跳转的地址" target="页面打开的方式"></a&g... 阅读详情

相关推荐

python selenium 高级应用:非select下拉框、动态id、无唯一属性定位

前言:接了人生中第一个python单子,用selenium自动化,是一个比较时新的网站,用了大量的js渲染,费了很大的力气,但我也终于发现了——任何人能够进行的浏览器操作都可以用selenium实现 1.非select类下拉框 在非select类下拉框这里遇到了两种需求,一种是可输入字符,一种是不可输入字符 1.1输入部分字符按照智能提示点选 这种下拉框允许输入字符,沟通后确定输入字符如出现多个选项则点选第一个 思路:用send_keys输入字符后会激活下拉框进行智能提示,然后用ActionChai

redemption77的博客 6863

input表单各种框/按钮和下拉框

目录表单:1.1输入框label标签通用属性1.2密码框1.3单选框1.4多选框1.5 按钮1.6文件上传1.7隐藏域下拉菜单select常用属性option常用属性输入框fieldset为表单加一个框 表单: 用来收集用户输入或选择的信息,并提交到服务器上。 html表单是由网页上可以提供用户输入和选择的一些控件(表单元素)组成的 表单元素: 元素:HTML中,是从开始标签到结束标签中的所有代码。 表单元素指的是不同类型的控件。 输入框,密码框,复选框,提交按钮等。 表单格式:

你还有我 3万+

Selenium 文本定位实战:XPath、等待与非原生下拉框

在 Web UI 自动化测试中,元素定位是点击、输入与断言稳定执行的基础。相比易随组件库重构变化的 ID、class,Selenium 可通过可见文本建立更贴近业务语义的定位策略,底层依赖 XPath 的 text()、contains() 与 normalize-space() 处理节点文本,也能结合 linkText、partialLinkText 和 Selenium 4 相对定位。其技术价值是降低前端改版带来的用例维护成本,提升可读性与跨团队协作效率。应用场景覆盖按钮、表单、提示校验、非原生下拉框、

weixin_33762130的博客 377

selenium自动化元素定位之下拉列表框

UI自动化元素定位之下拉列表框

测试开发 5039

selenium之下拉选择框

一、前言 selenium的下拉选择框。我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框。 后者我们通常的处理方式与其他的元素类似,点击或使用JS等。而对于前者,selenium给了有力的支持,就是Select类。 进行测试的网站:http://sahitest.com/demo/selectTest.htm 网页及对应源码: 二、关于导入方式 两种导入方式: from selenium.webdriver.support.ui imp

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 1万+

九齐NY8A051F低功耗模式全解析:从待机到休眠的省电实战

本文全面解析台湾九齐NY8A051F MCU的低功耗模式,从待机到休眠的省电实战技巧。通过实测数据展示四种工作模式的电流消耗差异,提供模式切换的标准流程和唤醒时序优化策略,并分享外围电路省电设计和低电压检测的实战应用,帮助开发者实现物联网设备的超长续航。

weixin_30839881的博客 410

selenium非选择标签下拉框_一文搞定!那些Selenium常见的元素定位

1图形验证码1.1 让开发屏蔽掉验证码1.2 使用万能验证码1.3 从数据库读取验证码1.4 验证码识别2Select 下拉框Selenium 通过 Select 类来操作由 Select 标签实现的下拉框,引入类:from selenium.webdriver.support.select import Select获取所有选项:·select.options返回所有被选中的选项:·s...

weixin_39588252的博客 1006

Unity程序化河流生成工具Waterways:从算法到实践的全流程解析

程序化内容生成(PCG)是游戏开发与三维建模领域的关键技术,它通过算法自动创建游戏内容,显著提升开发效率。其核心原理是将设计规则转化为可执行的代码逻辑,从而生成复杂、多样且符合自然规律的环境资产。在开放世界游戏和模拟经营类项目中,程序化生成技术能够快速构建大规模、高一致性的自然场景,如山川、森林与水体网络。Unity引擎作为广泛使用的开发平台,其地形系统与着色器管线为程序化工具的集成提供了强大基础。本文聚焦于利用Waterways这一Unity工具集,深入探讨如何通过模拟重力驱动、流量累积等自然水力原理,在

weixin_33690963的博客 684

selenium定位元素

整理一下,selenium的定位方法。 (一)数组定位 按F12进入浏览器的调试模式,进入console控制台,输入$x(xpath),如下图搜索所有input标签,一共搜索12 值,根据需要选择下标值。 selenium写法: box = driver.findElements("//input").get(0); box.clear(); box.sendKeys("给input为...

专注打造自动化测试流水线 1219

思科模拟器CIsco Packet Tracer利用三层交换机实现VLAN间路由

版权声明:如果对大家有帮助,大家可以自行转载的。 1.技术原理: 三层交换机具备网络层的功能,实现 VLAN 相互访问的原理是:利用三层交换机的路由功能,通过识别数据包的 IP 地址,查找路由表进行选路转发,三层交换机利用直连路由可以实现不同 VLAN 之间的相互访问。三层交换机给接口配置 IP 地址。采用 SVI(交换虚拟接口)的方式实现 VLAN 间互连。SVI 是指为交换机中的VLAN 创建...

qq_37992321的博客 1万+

uni-app - 将 base64 图片编码转为 Blob 本地文件路径(把base64类型的图片,转换成blob二进制文件流)适用于 uni-app / vue.js / JavaScript

uni-app/vue.js/JavaScript将base64转Blob,uniappapp端如何将图片的base64编码转换成File对象或Blob,uni-app/vue.js/JavaScript中拿到base64转blob对象,uniapp图片base64格式转blob格式方法,uniapp上传图片压缩转base64码与base64转图片路径,Base64/Blob/File图片文件转换,url、base64、blob相互转换方法,读取本地文件为Base64并转成B

🏆 前端领域优质创作者 1万+

python+selenium下拉框Input方式定位

网上很多关于selenium定位select下拉列表的讲解, 本文介绍自动化定位非select选择框(input假下拉列表) 1.driver.find_element_by_id(“xxxx”).click();首先定位点击到下来框 2.driver.find_element_by_id(“xxxx”).click() 再次定位下拉框选项 定位Input选择框时分2步: 1.定位到下拉框,点击2.定位到下拉框选项 ...

weixin_41990913的博客 3556

OTA 升级失败/回滚策略设计:打造安全可靠的双分区/断点续传/签名校验方案

双分区机制(A/B Partitioning)是OTA升级的“保险箱”。简单来说,设备存储分为两个分区:A分区(当前运行)和B分区(备用)。升级时,新固件写入B分区,A分区保持不变。如果升级成功,系统切换到B分区运行;如果失败,设备直接回滚到A分区,完全不受影响。这就像玩游戏存档:你打Boss前存了个档,万一挂了还能读档重来。双分区就是设备的“读档”机制,避免了变砖的尴尬。以Android设备为例,Google从Android 7.0开始强制引入A/B分区机制(Seamless Updates)。

大模型大数据攻城狮的专栏 1235

Selenium 处理下拉框操作

selenium 处理下拉框 在使用selenium来进行自动化测试的时候,常常会需要处理下拉框(很多项目都有下拉框)。所以我们需要知道下拉框是怎么处理的。 一. 基于Webdriver操作处理下拉框 如果是直接通过定位的方法来处理下拉框的话,只需要定位好之后,click就可以了,但是这种方式容易出错。 from selenium import webdriver from selenium.we...

zsh_ouhuang的博客 4815

《AgentScope-Java 深入浅出教程》第8章 工具高级特性

掌握工具组、预设参数、执行上下文等高级特性。

步子哥的博客 265

总目录- AutoSAR从入门到精通实战系列课程【持续更新中...】

欢迎大家订阅《AutoSAR入门和实战系列》,开始前博主先列出AutoSAR学习的大纲,同时这也可以作为大家学习AutoSAR的参考。想学习和及以及的同学们,可以订阅本博客,本博客一直持续更新中。如果想深入或从本质上学习和理解AutoSAR,打开此链接后,,点击左下方【立即订阅】订阅专栏!!!】......

4万+

【selenium点选下拉框】解决无法选中对应选项的问题

需求 使用selenium点击下拉框,选中【是】选项。

伤心的辣条 1322

关于海康MVS软件显示速率低与1GB、相机丢包的设置优化

工控机主要应用与视觉检测!相机网线及工控机网口都是千兆的!设置完巨帧数和速度与双工(选择为全双工),显示速度低与1GB,不能够正常工作。C.LA-Properdes-Advanced-将RecerveBuffers更改为2048。E.LAN-属性-电源管理-取消选中允许计算机关闭此设备以保存电源。这种情况均为MVS设置不熟悉,可参照如下设置优化相应端口相机配置。D.局域网-属性-高级-将传输缓冲区更改为20484。B.LAN-属性-高级-将中断记录部分更改为执行。A.关闭采集控制帧速率控制。

米可的博客! 8827

Selenium元素定位太难搞?这些坑我替你踩过了!

1.非select类下拉框、在非select类下拉框这里遇到了两种需求,一种是可输入字符,一种是不可输入字符、输入部分字符按照智能提示点选、这种下拉框允许输入字符,沟通后确定输入字符如出现多个选项则点选第一个、思路:用send_keys输入字符后会激活下拉框进行智能提示,然后用ActionChains模拟鼠标点击

测试界的彭于晏的博客 1166

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Selenium定位带输入框的下拉框

测试定位对象如下图,点击右侧向下按键,弹出下拉框列表,在输入框中输入字符可支持模糊查找。 刚开始我的测试思路是完全按照手工操作用例设计 1.点击向下按键 2.输入审核人名称 3.选中列表中匹配的审核人名称 l首先借助selenium ide进行以上步骤的录制,结果发现ide压根就不会产生任何步骤,所以这种方法行不通。 l然后使用火狐浏览器的firebug查看元素,分别获取了向下...

与君共勉 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Selenium之常见元素处理系列四--下拉框Select

首先效果图如下 需求:1.首先登陆慕课网 需求:2.进入到个人设置页面 需求:3.操作下拉框更改信息 代码: 代码: package com.wushuai.test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElemen...

杜海的博客 862

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

selenium五 单选框、复选框、下拉框元素选择

单选框 源码 &lt;input type="radio" name="subject[0]" required="" value="F1" aria-required="true"&gt; &lt;input type="radio" name="subject[0]" required="" val

雪国的花儿’s Blog 4825

selenium自动化测试入门 —— 下拉框元素定位_selenium中input标签下拉框定位

根据index定位,从0开始根据value属性定位根据文本定位取消全部选择返回这个select元素所有的options所有被选中的options第一个被选中的option示例1:采用三种方法依次选择’s1Id’的值示例2:想查看一个’s1Id’所有的选项示例3:查看我已选中的所有选项,'s2Id’可以多选的选择框注意:只有只有为 的空格才是空格,在html中代码只有 才代表空格,代码中的空格不是空格。示例4:查看选择框的默认值或选中的值示例5:取消选择。

2401_87373757的博客 676
上一篇: 专项测试——web测试
下一篇: 【GitHub】资源查找
Lucifer__hell
博客等级 码龄8年 53粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值