如下图所示:

当定位元素时,我想获取指定的某一列的某一行的断言,如图我只想获取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获取列表某一列的值

【Python + Selenium断言】之如何获取定位Web页面列表中的数据的更多相关文章

  1. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  2. web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  3. Python+Selenium自动化-设置浏览器大小、刷新页面、前进和后退

    Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退   1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,5 ...

  4. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  5. python + selenium相关事件和元素定位

    女友由于工作上的失误,将公司RDM中的某一字段的2000条数据给删除了.....就算是重新添加字段,但是与其他数据的关联性已经不在了.由于每天的数据修改量大,有关部门不愿意恢复数据库,因此只能一条条的 ...

  6. python selenium ——— 动态id、class定位

    什么样的是动态id呢? 动态id就是第一次点击显示的id与二次点击显示的不一样,一般是元素属性中包含一段数字的这种情况. 类似这种: 1 <input type="button&quo ...

  7. python+selenium基础之XPATH轴定位(第二篇)

    第一篇讲了xpath定位的一些基本定位方法,这里再介绍一种:xpath轴定位,应用场景是当某个元素的各个属性及其组合都不足以定位时,那么可以利用其兄弟节点或者父节点等各种可以定位的元素进行定位. 1. ...

  8. SharePoint 2010 获取列表中所有数据(包括文件夹内)的方法

    转: http://blog.csdn.net/wangwenism/article/details/8751411 SharePoint的列表能存储文件以及文件夹,用户使用的时候,经常会建几个分类文 ...

  9. Web页面向后台提交数据的方式和选择

    1.通过表单提交 这是HTML支持最传统的提交方法,需要创建表单,然后表单包含各种类型的表单元素,还要有一个提交按钮,通过提交按钮来提交到后台,这种方式提交后页面会刷新. 2.通过网页链接提交 可以在 ...

随机推荐

  1. vue.js 微信浏览器不支持lambda表达式

    最近尝试在用vue重构一个微信网页,然后发现在本地测试是可以的,在微信测试工具里也是正常的,然后在手机里有人正常有人不正常,后来发现规律,微信比较新的是不支持的,微信比较旧的是不支持的.然后网上谷歌了 ...

  2. DB Link

    oracle中DB Link select * from TB_APP_HEADER@SSDPPORTAL

  3. 关于UIWebView设置高度自适应的问题

    - (void)viewDidLoad { [super viewDidLoad]; _scrollView = [[UIScrollView alloc]initWithFrame:CGRectMa ...

  4. Android TextView 阴影效果(投影)

    Android TextView 阴影效果(投影) 四个参数: 1 2 3 4 android:shadowColor="@color/white" android:shadowD ...

  5. 解决Eclipse 变量名的自动补全问题

    大家使用eclipse敲代码的时候,是不是都被这样一个问题困扰着.就是键入一个变量名的时候,会自动提示补全:在你的变量名后面加上类型的名字!这个时候,你就必须键入Esc才不会自动补全你的变量,如果你键 ...

  6. iOS教程:如何使用NSFetchedResultsController

    不知不觉我们已经来到了Core Data系列教程的最后一部分了,在这里我们要讨论如何使用NSFetchedResultsController来优化我们的应用,提高应用的运行速度,减少其内存占用. 你是 ...

  7. A标签几种状况下的样式问题

    正常状态下的a标签是这样的. 去掉下划线只需要在样式里面加入a{text-decoration:none;}或者<a href="www.kanbuchuan.com"sty ...

  8. [置顶] kubernetes资源类型--deployment

    Deployment(中文意思为部署.调度)提供了一种更加简单的更新RC和Pod的机制,K8S版本1.2实现的.通过在Deployment中描述所期望的集群状态,Deployment Controll ...

  9. python3使用configparser解析配置文件

    http://www.jb51.net/article/87402.htm 需要注意的是每一个字段后面的值外面没有引号,切记,自己第一次配置时,加了引号,搞了半天 没找到错误,, 在用Python做开 ...

  10. ElasticSearch的按日期排序问题

    ES中有一个sort域,类型为date,格式是: yyyy-MM-dd HH:mm:ss 但是,在实际应用中,想仅仅按yyyy-MM-dd排序.我的处理过程是,用es的script,提取出日期,然后按 ...