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('\n第', 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('\n第',i+1,'行帐号或密码错误!')

 

输入结果如下:

转载于:https://www.cnblogs.com/maigeyouziba/p/11274804.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值