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使用webbrowser浏览指定url的方法
Apr 04 Python
详解Python中的文本处理
Apr 11 Python
python获取目录下所有文件的方法
Jun 01 Python
Django实现自定义404,500页面教程
Mar 26 Python
python中使用%与.format格式化文本方法解析
Dec 27 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
使用OpenCV实现仿射变换—平移功能
Aug 29 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 Python
python自动生成sql语句的脚本
Feb 24 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 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生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
python中的字典使用分享
2016/07/31 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
SQL Server数据库笔试题和答案
2016/02/04 面试题
国税会议欢迎词
2014/01/16 职场文书
商场活动策划方案
2014/01/24 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
研究生导师推荐信
2014/09/06 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
投标售后服务承诺书
2015/04/29 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
Python基础之元类详解
2021/04/29 Python