如下图所示:

当定位元素时,我想获取指定的某一列的某一行的断言,如图我只想获取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. 十. 图形界面(GUI)设计3.标签、按钮和按钮事件

    标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关. 标签 标签(JLabel)是最简单的Swing组件.标签对象的作用是对位于其后的界面组件作说明.可以设置标签的属性,即前景色 ...

  2. 2,搭建一个java开发环境

    (1)java开发需要的条件? 1)适用于环境开发的jdk(里面包括了jre和加热里面包括了jvm) 2)对应开发环境的eclipse 3)如果涉及到web开发,还需要web服务器(Tomcat) ( ...

  3. ubuntu 下安装nodejs以及pm2

    ubuntu 12.04服务器可以使用apt-get方式安装Node JS,但是,安装完后的版本为v0.6.12的版本,如果我们想要使用新一点的版本需要做如下配置: 1 2 3 4 apt-get i ...

  4. 由jtable浅谈vector<vector<Object>>的用法(转自a718515028的专栏)

    以前只用过vector<Object>  ,但是在做从数据库导出数据放到jtable中时,发现还有个vector<vector<Object>>的用法. 先说jta ...

  5. UserAgent伪装浏览器

    经常逛论坛的朋友经常会遇到这样的问题:论坛个性签名里的JS代码把个人浏览器信息等被人一览无余,我并不想他们得到我的这类信息. 咋办?很简单的办法就是伪装,怎么伪装?对于chrome.firefox等这 ...

  6. 高效重构 C++ 代码

    引言 Martin Fowler的<重构:改善既有代码的设计>一书从2003年问世至今已有十几年时间了,按照计算机领域日新月异的变化速度,重构已经算是一门陈旧的技术了.但是陈旧并不代表不重 ...

  7. Linux alias理解及设置

    1.alias简介 Linux alias 是命令的一种别称,输入 alias 可以看到像下面这样的结果: alias l.='ls -d .* --color=auto' alias ll='ls ...

  8. java-selenium(一)元素定位

    在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.下面这些定位方式中,优先使用 id.name.classname,对于网上的链接元素,推荐使用linkText ...

  9. zabbix自动化监控之自动注册

    自动注册与自动发现刚好相反,是zabbix agent主动联系zabbix server,最后由zabbix server将这些agent加到host里.活动的Zabbix agent可以自动注册到服 ...

  10. 9. 使用JdbcTemplate【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/51636998 整体步骤: (1)   在pom.xml加入jdbcTemplate的依赖: ...