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 21 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
python用户评论标签匹配的解决方法
May 31 Python
创建Django项目图文实例详解
Jun 06 Python
Django Aggregation聚合使用方法解析
Aug 01 Python
python装饰器练习题及答案
Nov 01 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
django序列化时使用外键的真实值操作
Jul 15 Python
Python 必须了解的5种高级特征
Sep 10 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
python 利用Pyinstaller打包Web项目
Oct 23 Python
Python 里最强的地图绘制神器
Mar 01 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 mssql 数据库分页SQL语句
2008/12/16 PHP
PHP中的替代语法介绍
2015/01/09 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
js获取变量
2006/08/24 Javascript
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
php跨域调用json的例子
2013/11/13 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
Python实现pdf文档转txt的方法示例
2018/01/19 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
python爬虫要用到的库总结
2020/07/28 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
某公司Java工程师面试题笔试题
2016/03/27 面试题
个人自我鉴定怎么写
2013/10/28 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
教师产假请假条范文
2014/04/10 职场文书
员工保密承诺书
2014/05/28 职场文书
小学生运动会报道稿
2014/09/12 职场文书
婚宴新郎致辞
2015/07/28 职场文书
校园运动会广播稿
2015/08/19 职场文书
新学期家长寄语2016
2015/12/03 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
关于MySQL中explain工具的使用
2023/05/08 MySQL