【selenium点选下拉框】解决无法选中对应选项的问题
📅 2026/7/31 3:36:29
👁️ 次浏览
需求使用selenium 点击下拉框选中【是】选项。代码方法1# 点击下拉框 driver.find_element(xpath,//*[idbasicProcessDetail]/div[2]/div[2]/div[1]/div/div[2]/div/div/div/div[1]/div[2]/form/div[11]/div[1]/div/div/div[1]/div[1]/div/i).click() # 点击对应的选项 driver.find_element(xpath,//*[idbasicProcessDetail]/div[2]/div[2]/div[1]/div/div[2]/div/div/div/div[1]/div[2]/form/div[11]/div[1]/div/div/div[1]/div[2]/ul[2]/li[1]).click()缺点无法批量操作每次都得复制很长的xpath 表达式费时费力。方法2def select_option(label_text, option_text): 点选操作 print(f点选【{label_text}】, end- ) try: # 等待元素加载完成 wait WebDriverWait(driver, 10) # 增加等待时间到10秒 # 使用XPath定位包含特定文本的元素然后找到其后的下拉框按钮 dropdown_button wait.until(EC.element_to_be_clickable((By.XPATH, f//label[contains(text(), {label_text})]/following-sibling::div//div[contains(class, ivu-select-selection)]))) # 点击下拉框按钮 dropdown_button.click() # 使用XPath定位并点击特定的选项 option_button wait.until(EC.element_to_be_clickable((By.XPATH, f//label[contains(text(), {label_text})]/following-sibling::div//div[contains(class, ivu-select-dropdown)]//li[contains(text(), {option_text})]))) option_button.click() print(成功!) except Exception as e: print(失败!) # 调用 select_option(是否保护:, 是)优点可封装函数方便批量操作类 似的下拉框。讲解01 分析关于第二个XPath表达式 的理解和分析功能用于定位包含特定文本的li元素它包含了两个主要部分1.定位包含特定文本的label元素//label[contains(text(),{label_text})]这部分XPath用于定位所有label元素这些元素的文本包含您提供的label_text变量。{label_text}是一个占位符代表您想要定位的标签文本例如“是否双板卡保护:”。2.定位label元素的后续兄弟节点中的div元素/following-sibling::div这表示我们想要找到label元素的后续兄弟节点即紧随其后的元素。3.定位div元素中的div元素该div包含ivu-select-dropdown类//div[contains(class,ivu-select-dropdown)]这表示我们想要找到包含ivu-select-dropdown类的div元素。4.定位包含特定文本的li元素//li[contains(text(),{option_text})]这表示我们想要找到所有li元素这些元素的文本包含您提供的option_text变量。{option_text}是一个占位符代表您想要选择的选项文本例如“是”或“否”。整个XPath表达式的组合用于找到包含特定文本的label元素然后定位其后的div元素该div包含下拉菜单 。最后它定位并点击包含特定选项文本的li元素。请注意XPath表达式需要根据您的网页结构和实际情况进行调整。如果您的网页结构有所不同请相应地修改XPath表达式。思考为什么不能直接用//li[contains(text (),{option_text})]呢01 定位的准确性//li[contains(text(),{option_text})]是一个相对宽泛的定位方式它可能会匹配到页面上任何包含option_text的li元素而不一定是下拉菜单中的选项。这意味着这个XPath可能会匹配到多个元素而不是您想要点击的特定选项。02 性能如果页面上有多个li元素包含option_text那么使用这种定位方式可能会导致性能问题因为它需要遍历更多的元素来找到匹配的元素。03 可维护性如果页面上li元素的布局或结构发生变化那么使用这种定位方式可能会导致定位失败。相比之下使用更具体的XPath如//label[contains(text(),{label_text})]/following-sibling::div//div[contains(class,ivu-select -dropdown)]//li[contains(text(),{option_text})]可以确保更准确地定位到特定的选项并且对页面的变化更加鲁棒。总之虽然使用//li[contains(text(),{option_text})]是可行的但它可能不如使用更具体的XPath那样准确和可靠。在实际应用中建议根据页面的具体情况选择最合适的定位方式。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。
如何用Mermaid Live Editor快速创建专业图表:面向初学者的终极免费指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mer…
📅 2026/7/31 3:36:29
1. 项目概述:为什么我们需要折腾boot.img?在嵌入式开发和Android系统定制领域,boot.img是一个绕不开的核心文件。它不仅仅是系统启动的“第一脚油门”,更是一个包含了内核(kernel)、设备树(dtb&…
📅 2026/7/31 3:36:29
1. 项目概述:从“一团乱麻”到“井然有序”的硬件描述语言数组操作在FPGA和ASIC设计的日常里,无论是实现一个复杂的图像处理流水线,还是设计一个简单的状态机,数组(Array)都是我们绕不开的核心数据结构。它…
📅 2026/7/31 3:36:29
5分钟快速恢复QQ空间历史数据:GetQzonehistory终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
你是否曾担心QQ空间中的珍贵说说会随着时间流逝而消失?那…
📅 2026/7/31 5:38:01
1. 项目概述:从数据到决策,销量预测的商业价值做电商、零售或者供应链管理的朋友,肯定都遇到过这个头疼的问题:仓库里到底该备多少货?备多了,资金压着,商品还可能过期;备少了&#x…
📅 2026/7/31 5:38:01
1. 项目概述:当爬虫撞上B站风控墙最近在尝试用Python写个脚本,想批量抓取B站上一些UP主的投稿视频信息,结果刚发几个请求,服务器就给我回了个“352”响应码,附带一句“风控校验失败”。这感觉就像你兴冲冲地去敲门&…
📅 2026/7/31 5:38:01
1. 项目缘起:从静态到动态的创意表达最近在几个技术社区和社交媒体上,看到不少朋友在晒用代码生成的爱心图案。这让我想起了自己刚学Python那会儿,也特别喜欢鼓捣这些能立刻看到视觉反馈的小项目。不过,大多数分享的爱心都是静态的…
📅 2026/7/31 5:38:01
1. 项目概述:全栈音乐播放平台的技术架构这个在线音乐播放平台项目采用了前后端分离的架构设计,后端使用Python生态的Flask和Django框架,前端基于Vue.js实现交互界面,开发环境选用PyCharm作为主力IDE。这种技术组合既能发挥Python…
📅 2026/7/31 5:38:01
引言:热闹背后的困惑近年来,随着大语言模型能力的爆发,“多智能体协作”(Multi-Agent Collaboration)成为AI应用领域最炙手可热的话题。从“一人公司(OPC)”概念的流行,到各种Agent工…
📅 2026/7/31 5:37:00
数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…
📅 2026/7/31 0:00:23
BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…
📅 2026/7/31 0:00:23
当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…
📅 2026/7/31 0:00:23
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/31 1:18:08
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/31 1:18:08
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/31 1:18:08
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/30 7:16:27
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/30 17:17:14
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/31 5:18:28