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中lambda函数 list comprehension 和 zip函数使用指南
Sep 28 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
在Python下进行UDP网络编程的教程
Apr 29 Python
详细解读Python的web.py框架下的application.py模块
May 02 Python
python利用不到一百行代码实现一个小siri
Mar 02 Python
Python对象属性自动更新操作示例
Jun 15 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
May 16 Python
Python类如何定义私有变量
Feb 03 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
如何用 Python 子进程关闭 Excel 自动化中的弹窗
May 07 Python
Python docx库删除复制paragraph及行高设置图片插入示例
Jul 23 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 禁止页面缓存输出
2009/01/07 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
初识PHP
2014/09/28 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
javascript 新浪背投广告实现代码
2009/07/07 Javascript
jQuery bind事件使用详解
2011/05/05 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
2016/12/23 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
2017/01/19 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
Loreto Gallo英国:欧洲领先的在线药房
2021/01/21 全球购物
八年级历史教学反思
2014/01/10 职场文书
英语教师求职信
2014/06/16 职场文书
酒店端午节活动方案
2014/08/26 职场文书
财政局个人年终总结
2015/03/03 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
六一儿童节致辞
2015/07/31 职场文书
七年级作文之雪景
2019/11/18 职场文书
宝塔更新Python及Flask项目的部署
2022/04/11 Python