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抓取手机号归属地信息示例代码
Nov 28 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
PyQt5每天必学之单行文本框
Apr 19 Python
python训练数据时打乱训练数据与标签的两种方法小结
Nov 08 Python
Python分支语句与循环语句应用实例分析
May 07 Python
python实现单链表的方法示例
Sep 03 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
Pytorch实现基于CharRNN的文本分类与生成示例
Jan 08 Python
Python如何读取文件中图片格式
Jan 13 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 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动态变静态原理
2006/11/25 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
Python3使用requests发闪存的方法
2016/05/11 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
国际书籍零售商:Wordery
2017/11/01 全球购物
行政管理人员精品工作推荐信
2013/11/04 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书