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中的多重继承实例讲解
Sep 28 Python
python安装以及IDE的配置教程
Apr 29 Python
Python实现批量修改文件名实例
Jul 08 Python
django输出html内容的实例
May 27 Python
使用Python在Windows下获取USB PID&amp;VID的方法
Jul 02 Python
Django models.py应用实现过程详解
Jul 29 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
Python使用socketServer包搭建简易服务器过程详解
Jun 12 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
Django model class Meta原理解析
Nov 14 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 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_MySQL教程-第一天
2007/03/18 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
ionic3双击返回退出应用的方法
2019/09/17 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
详解Python文件修改的两种方式
2019/08/22 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
python try...finally...的实现方法
2020/11/25 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
网络工程师自荐书范文
2014/04/01 职场文书
股份合作协议书
2014/09/10 职场文书
2014年度党员自我评议
2014/09/13 职场文书
生活小常识广播稿
2014/09/16 职场文书
2014年科研工作总结
2014/12/03 职场文书
退伍军人感言
2015/08/01 职场文书
党性修养心得体会2016
2016/01/21 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
微信小程序实现轮播图指示器
2022/06/25 Javascript