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,'行帐号或密码错误!')

    输入结果如下:

  • 相关阅读:
    如何对抗硬件断点--- 调试寄存器
    学会破解要十招
    Ollydbg 中断方法浅探
    脱壳经验(二)--如何优化
    jquery 选择器,模糊匹配
    CSS实现内容超过长度后以省略号显示
    微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法
    Exif.js获取图片的详细信息(苹果手机移动端上传图片旋转90度)
    jquery中的$("#id")与document.getElementById("id")的区别
    CentOS7 安装lua环境(我是在mysql读写分离用的)
  • 原文地址:https://www.cnblogs.com/maigeyouziba/p/11274804.html
Copyright © 2011-2022 走看看