selenium + python 获取table数据的示例讲解


Posted in Python onOctober 13, 2018

方法一:

<code class="language-python">""" 
根据table的id属性和table中的某一个元素定位其在table中的位置 
table包括表头,位置坐标都是从1开始算 
tableId:table的id属性 
queryContent:需要确定位置的内容 
""" 
def get_table_content(tableId,queryContent): 
  arr = [] 
  arr1 = []  
  table_loc = (By.ID,tableId) 
  # 按行查询表格的数据,取出的数据是一整行,按空格分隔每一列的数据 
  table_tr_list = driver.find_element(*table_loc).find_elements(By.TAG_NAME, "tr") 
  for tr in table_tr_list: 
    arr1 = (tr.text).split(" ") #以空格拆分成若干个(个数与列的个数相同)一维列表 
    # print(tr.text) 
    # print(arr1) 
    arr.append(arr1)  #将表格数据组成二维的列表 
 
  #循环遍历table数据,确定查询数据的位置 
  for i in range(len(arr)): 
    for j in range(len(arr[i])): 
      if queryContent== arr[i][j]: 
        print("%r坐标为(%r,%r)" %(queryContent,i+1,j+1)) 
 
get_table_content("myTable","第二行第二列")</code>

方法二:

"""
根据table的id属性和table中的某一个元素定位其在table中的位置
table包括表头,位置坐标都是从1开始算
tableId:table的id属性
queryContent:需要确定位置的内容
"""
def get_table_content(tableId,queryContent):
 
  # 按行查询表格的数据,取出的数据是一整行,按空格分隔每一列的数据
  table_tr_list = driver.find_element(By.ID, tableId).find_elements(By.TAG_NAME, "tr")
  table_list = [] #存放table数据
  for tr in table_tr_list:  #遍历每一个tr
    #将每一个tr的数据根据td查询出来,返回结果为list对象
    table_td_list = tr.find_elements(By.TAG_NAME, "td")
    row_list = []
    print(table_td_list)
    for td in table_td_list:  #遍历每一个td
      row_list.append(td.text)  #取出表格的数据,并放入行列表里
    table_list.append(row_list)
 
  # 循环遍历table数据,确定查询数据的位置
  for i in range(len(table_list)):
    for j in range(len(table_list[i])):
      if queryContent== table_list[i][j]:
        print("%r坐标为(%r,%r)" %(queryContent,i+1,j+1))
 
get_table_content("myTable","第二行第二列")

方法三:

"""
根据CSS选择器和table中的某一个元素定位其在table中的位置
table包括表头,位置坐标都是从1开始算
cssSelector:table的CSS选择器属性
queryContent:需要确定位置的内容
"""
def get_table_content(cssSelector,queryContent):
  locator = cssSelector + ">tbody>tr"
  table_list = []
  table_tr_list = driver.find_elements(By.CSS_SELECTOR, locator)[1:] #去掉表头
  for tr in table_tr_list:
    row_list = []
    table_td_list = tr.find_elements(By.TAG_NAME,"td")
    for td in table_td_list:
      row_list.append(td.text)
    table_list.append(row_list)
 
  for i in range(len(table_list)):
    for j in range(len(table_list[i])):
      if queryContent== table_list[i][j]:
        print("%r坐标为(%r,%r)" %(queryContent,i+1,j+1))
 
get_table_content("#myTable","第二行第二列")

以上这篇selenium + python 获取table数据的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pycharm 使用心得(五)断点调试
Jun 06 Python
对于Python的框架中一些会话程序的管理
Apr 20 Python
简单介绍Python中的floor()方法
May 15 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
python实现稀疏矩阵示例代码
Jun 09 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 Python
实时获取Python的print输出流方法
Jan 07 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 #Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 #Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 #Python
Python3 获取一大段文本之间两个关键字之间的内容方法
Oct 11 #Python
selenium+python 对输入框的输入处理方法
Oct 11 #Python
python中的json总结
Oct 11 #Python
python tkinter界面居中显示的方法
Oct 11 #Python
You might like
PHP4和PHP5共存于一系统
2006/11/17 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
解决php写入数据库乱码的问题
2019/09/17 PHP
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
用python实现面向对像的ASP程序实例
2014/11/10 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
python2.7实现邮件发送功能
2018/12/12 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
什么时候用assert
2015/05/08 面试题
大学毕业生通用求职信
2013/09/28 职场文书
网络维护管理员的自我评价分享
2013/11/11 职场文书
应届大学生求职信
2013/12/01 职场文书
军训自我鉴定100字
2014/02/13 职场文书
违反校纪校规检讨书
2014/02/15 职场文书
迟到检讨书范文
2015/01/27 职场文书