实例演练:Python3+Selenium3 读取Excel数据

发表于:2021-12-14 09:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:爱测试的小浩    来源:CSDN

  文件布局如下:
  读取Excel表中数据代码如下:
  #coding:utf-8
  import xlrd
  import os
  class ExcelUtil:
      def __init__(self, excel_path):
          self.data = xlrd.open_workbook(excel_path)
          self.table = self.data.sheet_by_name('Sheet1')
          # 获取第一行数值作为key值
          self.keys = self.table.row_values(0)
          # 获取总行数值
          self.rowNum = self.table.nrows
          # 获取总列数值
          self.colNum = self.table.ncols
      def dict_data(self):
          if self.rowNum <= 1:
              print("总行数小于1")
          else:
              r = []
              j = 1
              for i in range(self.rowNum - 1):
                  s = {}
                  # 从第二行取对应values数值
                  values = self.table.row_values(j)
                  for x in range(self.colNum):
                      s[self.keys[x]] = values[x]
                  r.append(s)
                  j += 1
              return r
  if __name__ == "__main__":
      data = ExcelUtil('C:/Users/86175/PycharmProjects/Selenium/DataExcel/xinzeng.xlsx').dict_data()
      #读取第一行第一列数据
      print(data[0]['parm1'])
     
  引用Excel中的数据:
  from time  import sleep
  from PageWeb.PageObject import Page_Object
  from DataExcel.readExcel import ExcelUtil
  class  addchanpin(Page_Object):
       def  add_chanpinput(self):
          #调用读取文件的方法
          data=ExcelUtil('C:/Users/86175/PycharmProjects/Selenium/DataExcel/xinzeng.xlsx').dict_data()
          #引用第一列第一条数据
          self.input_data('id', 'name',data[1]['parm1'])
          sleep(1)
          #引用第一列第二条数据
          self.input_data('id', 'code', data[1]['parm1'])
          sleep(1)
          self.click_in('id','submit')

  读取结果如下:

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号