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检测服务器是否正常
Feb 16 Python
python使用Tesseract库识别验证
Mar 21 Python
Django安装配置mysql的方法步骤
Oct 15 Python
Python元组知识点总结
Feb 18 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
Dec 11 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
Jun 12 Python
python实现批量命名照片
Jun 18 Python
Python3如何使用range函数替代xrange函数
Oct 05 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
Content-type 的说明
2006/10/09 PHP
在PHP中养成7个面向对象的好习惯
2010/07/17 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
详细介绍Python函数中的默认参数
2015/03/30 Python
python分割列表(list)的方法示例
2017/05/07 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
python学生信息管理系统
2018/03/13 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
大学生关于奋斗的演讲稿
2014/01/09 职场文书
超市活动计划书
2014/04/24 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
个人德育工作总结
2015/03/05 职场文书
学校教学工作总结2015
2015/05/19 职场文书
律师函格式范本
2015/05/27 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
怎么用Python识别手势数字
2021/06/07 Python