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邮箱发送邮件的方法
May 28 Python
Python计时相关操作详解【time,datetime】
May 26 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
对python使用http、https代理的实例讲解
May 07 Python
详解Python中is和==的区别
Mar 21 Python
PyCharm安装Markdown插件的两种方法
Jun 24 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
Python实现手绘图效果实例分享
Jul 22 Python
如何利用Python matplotlib绘制雷达图
Dec 21 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
Apr 21 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
javascript 短路法代码精简
2009/08/20 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
Python列表计数及插入实例
2014/12/17 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
python之PyMongo使用总结
2017/05/26 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
如何用python 操作zookeeper
2020/12/28 Python
我的大学生活演讲稿
2014/04/25 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
模具专业求职信
2014/06/26 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python