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常用列表数据结构小结
Aug 06 Python
Python使用multiprocessing创建进程的方法
Jun 04 Python
python中的全局变量用法分析
Jun 09 Python
python使用wmi模块获取windows下的系统信息 监控系统
Oct 27 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
Python实现的文本编辑器功能示例
Jun 30 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
Python将string转换到float的实例方法
Jul 29 Python
详解Python的三种拷贝方式
Feb 11 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 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脚本的10个技巧(8)
2006/10/09 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
Python中处理unchecked未捕获异常实例
2015/01/17 Python
python开发之函数定义实例分析
2015/11/12 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
python实现批量修改文件名代码
2017/09/10 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
应聘自荐信
2013/12/14 职场文书
党支部承诺书范文
2014/03/28 职场文书
会议接待欢迎标语
2014/10/08 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
Golang Web 框架Iris安装部署
2022/08/14 Python