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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
Python实现从订阅源下载图片的方法
Mar 11 Python
粗略分析Python中的内存泄漏
Apr 23 Python
Python基于smtplib实现异步发送邮件服务
May 28 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
简单实现Python爬取网络图片
Apr 01 Python
python实现微信小程序自动回复
Sep 10 Python
python爬虫实现中英翻译词典
Jun 25 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
简单瞅瞅Python vars()内置函数的实现
Sep 27 Python
python实现图片二值化及灰度处理方式
Dec 07 Python
pytorch 实现多个Dataloader同时训练
May 29 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
script标签属性用type还是language
2015/01/21 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
python非递归全排列实现方法
2017/04/10 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
python模拟表单提交登录图书馆
2018/04/27 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
详解Python绘图Turtle库
2019/10/12 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
英国最大的海报商店:GB Posters
2018/03/20 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
班长岗位职责
2013/11/10 职场文书
工商治理实习生的自我评价
2014/01/15 职场文书
英文请假条
2014/04/11 职场文书
主题班会演讲稿
2014/05/22 职场文书
营销与策划实训报告
2014/11/05 职场文书
未婚证明范本
2015/06/15 职场文书
教师节校长致辞
2015/07/31 职场文书
python字符串的一些常见实用操作
2022/04/06 Python
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL