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实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
Python设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
详解python while 函数及while和for的区别
Sep 07 Python
python+pyqt5实现24点小游戏
Jan 24 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 Python
Python中类似于jquery的pyquery库用法分析
Dec 02 Python
Django models filter筛选条件详解
Mar 16 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
python中np是做什么的
Jul 21 Python
利于python脚本编写可视化nmap和masscan的方法
Dec 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
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
Javascript 入门基础学习
2010/03/10 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
JS判断数组四种实现方法详解
2020/06/29 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
python list转矩阵的实例讲解
2018/08/04 Python
Python get获取页面cookie代码实例
2018/09/12 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
出生证明公证书
2014/04/09 职场文书
党员剖析材料范文
2014/09/30 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
秋季运动会开幕词
2015/01/28 职场文书
小学副班长竞选稿
2015/11/21 职场文书
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers