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实现QQ游戏大家来找茬辅助工具
Sep 14 Python
Python快速排序算法实例分析
Nov 29 Python
Python装饰器原理与用法分析
Apr 30 Python
tensorflow实现简单的卷积网络
May 24 Python
python读取csv和txt数据转换成向量的实例
Feb 12 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
python speech模块的使用方法
Sep 09 Python
Python字典dict常用方法函数实例
Nov 09 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
Python读取和写入Excel数据
Apr 20 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
解析php5配置使用pdo
2013/07/03 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
php7下的filesize函数
2019/09/30 PHP
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
基于Python实现一个简单的银行转账操作
2016/03/06 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
利用python循环创建多个文件的方法
2018/10/25 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
Python requests模块cookie实例解析
2020/04/14 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
法人代表授权委托书
2014/04/08 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
Python数据分析之绘图和可视化详解
2021/06/02 Python