zoukankan      html  css  js  c++  java
  • selenium12-读取文件 excel

    xlrd:读取 excel 文件数据,可读不可写

    安装 xlrd

    pip install xlrd

    import xlrd  #导入 xlrd

    xl = xlrd.open_workbook('test.xls')  #打开 excel

    tables = xl.sheets()  #通过索引获取工作表,返回一个列表,列表每个元素是excel中一个表格

    table = xl.sheets()[0]  #返回excel中第一个表格

    table.nrows  #返回行数

    table.ncols  #返回列数

    row = table.row_values(0)  #获取第一行内容

    col = table.col_values(0)  #获取第一列内容

    table.cell(0, 0).value  #返回指定单元格中的值

    实践练习,读取 excel 中帐号和密码登录 qq 邮箱

    from selenium import webdriver

    import time

    from selenium.webdriver.support.ui import WebDriverWait

    import xlrd

    def get_web():

      driver = webdriver.Firefox()

      driver.get('https://mail.qq.com/')

      return driver

    def get_login(driver):

      WebDriverWait(driver, 10).until(lambda driver:driver.find_element_by_xpath('/html/body/div/div[1]/a'))

      driver.switch_to.frame('login_frame')

      driver.find_element_by_id('switcher_plogin').click()

    def input_login(driver, account, password):

      ele_account = driver.find_element_by_id('u')

      ele_account.clear()

      ele_account.send_keys(account)

      ele_account.send_keys('@qq.com')

      ele_password = driver.find_element_by_id('p')

      ele_password.clear()

      ele_password.send_keys(password)

      driver.find_element_by_xpath('//*[@id="login_button"]').click()

      time.sleep(10)

    def check_login(driver, account):

      try:

        driver.switch_to.default_content()

        driver.switch_to.frame('mainFrame')

        ele = driver.find_element_by_xpath('/html/body/div[2]/div/ul/li[1]/div[2]/a')

        print('登录账号',account,'成功!')

      except:

        print(account,'登录失败!')

    if __name__ == "__main__":

      workbooks = xlrd.open_workbook('user.xls')

      workbook = workbooks.sheets()[0]

      num_rows = workbook.nrows

      for i in range(1, num_rows):

        contents = workbook.row_values(i)

        if contents:

          account = contents[0]

          password = contents[1]

          if account and password:

            account = int(account)

            password = str(password)

            print(' 第', i+1, '行,账号', account, '正在登录中……')

            driver = get_web()

            get_login(driver)

            input_login(driver, account, password)

            check_login(driver, account)

            driver.quit()

            time.sleep(3)

          else:

            print(' 第',i+1,'行帐号或密码错误!')

    输入结果如下:

  • 相关阅读:
    protobuf lib库的使用
    protobuf的下载、编译和使用
    使用python和pygame绘制繁花曲线
    经典方块游戏-俄罗斯方块
    经典方块游戏-贪吃蛇
    经典方块游戏-基础
    经典方块游戏一
    Python脚本管理
    SublimeText3设置显示空格及Tab显示为4个空格
    域名解析记录类型
  • 原文地址:https://www.cnblogs.com/maigeyouziba/p/11274804.html
Copyright © 2011-2022 走看看