【Python + Selenium断言】之如何获取定位Web页面列表中的数据
如下图所示:
当定位元素时,我想获取指定的某一列的某一行的断言,如图我只想获取jiancha1的值,有同学会说:直接定位不就好了。但是我们知道,列表的数据会时刻变动的,不能靠定死的路径,那该怎么办呢?
我们可以在定位元素上下文章,首先,通过F12定位元素XPATH路径:
# 姓名:zc监察1 get_name_loc = (By.XPATH,"//div[@class='bs-example']/form/table/tbody/tr[1]/td[2]") # 姓名:jiancha1 get_name_loc = (By.XPATH,"//div[@class='bs-example']/form/table/tbody/tr[2]/td[2]")
对比一下,只有tr行不一样,所以如果想获取列表中某一列的所有数据,写下面的代码:
# 获取所有姓名 get_name_loc = (By.XPATH,"//div[@class='bs-example']/form/table/tbody/tr/td[2]")
然后通过循环得到列表数据:
get_name_loc = (By.XPATH,"//div[@class='bs-example']/form/table/tbody/tr/td[2]") def getListName(self,realname): ''' 获取列表真实姓名 :param realname: 真实姓名 :return: getRealname ''' # 查询最新输入的姓名 sleep(0.5) getRealname = functions.AllFuncions().getNewName(realname)[2]
============重点============= # 定位姓名元素 names = self.find_elements(*self.get_name_loc) lists = [] for i in names: lists.append(i.text) ============重点============= # 对比数据库数据与列表数据 if getRealname in lists: return getRealname else: return None
这样就大功告成啦!获取数据库中想要的字段值跟列表中的数据进行对比,如果存在则把这个值进行断言。
感谢参考文章:《python3+selenium获取列表某一列的值》
不积跬步,无以致千里;不集小流,无以成江海。
如转载本文,请还多关注一下我的博客:https://www.cnblogs.com/Owen-ET/;
我的Github地址:https://github.com/Owen-ET————————————
无善无恶心之体, 有善有恶意之动, 知善知恶是良知, 为善去恶是格物。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2017-10-09 【PyCharm编辑器】之引用selenium包提示错误:Unresolved reference 'selenium' less... (Ctrl+F1)