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 相关文章推荐
python获取android设备的GPS信息脚本分享
Mar 06 Python
pygame学习笔记(4):声音控制
Apr 15 Python
Python选课系统开发程序
Sep 02 Python
FFrpc python客户端lib使用解析
Aug 24 Python
原生python实现knn分类算法
Oct 24 Python
Python hmac模块使用实例解析
Dec 24 Python
Python读取YAML文件过程详解
Dec 30 Python
使用TensorFlow搭建一个全连接神经网络教程
Feb 06 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 Python
Python爬取科目四考试题库的方法实现
Mar 30 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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
PHP中文件上传的一个问题
2010/09/04 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
两个DIV等高的JS的实现代码
2007/12/23 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
jQuery中die()方法用法实例
2015/01/19 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
vue cli 全面解析
2018/02/28 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
python实现隐马尔科夫模型HMM
2018/03/25 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
python虚拟环境迁移方法
2019/01/03 Python
Python实现元素等待代码实例
2019/11/11 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
关于廉洁的广播稿
2014/01/30 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
董事长年会致辞
2015/07/29 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android