zoukankan      html  css  js  c++  java
  • selenium11-自动化练习读取文件txt

    ……关于数据以字典方式存储的读取,这个在前面已经练习过了,这次试试 txt格式,感觉也是比较常见的

    平时从某处导出或者复制出来的数据文件可能是这样的:

     

    #存放帐号和密码的文件 user_list.txt

     帐号 密码 

     1234567890 abcdefg123

     1234567890 abcdefg123

     1234567890 abcdefg123

     1234567890 abcdefg123

     1234567890 abcdefg123

     1234567890 abcdefg123

    首行显示此列名称,后面就是一堆数据,导出的时候是不太整齐的,需要手动整理一下,相邻的数据用一个空格隔开,多运行几次用 “_” 替换 “__”就可以了,即 连续两个空格替换成一个空格,循环几次,就整齐了

     

    #主要代码模块的文件名 qq_mail_login.py

    from selenium import webdriver

    import time

    from selenium.webdriver.support.ui import WebDriverWait

     

    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__":

      with open('user_list.txt', 'r') as f:  #打开文件

        content = f.readline()  #读取第一行

        while content:

          content = f.readline()  #每此循环读下一行

          info = content.split()  #将一行数据以空格为分隔符,进行分割,得到的作为元素存入列表 info

          if info:  #如果列表不为空,则进行以下操作

            account = info[0]  #列表 info 第一个元素作为 account

            password = info[1]  #列表 info 第二个元素作为 password

            print('账号', account, '正在登录中……')  #开始登录某帐号提示

            driver = get_web()  #打开网页

            get_login(driver)  #打开登陆窗

            input_login(driver, account, password)  #输入帐号和密码,点击登录

            check_login(driver, account)  #验证登录是否成功,并报告

            driver.quit()  #关闭浏览器

            time.sleep(3)  #等待三秒,然后进行下一次循环

  • 相关阅读:
    第七次
    第六次作业
    第五次作业
    第四次作业
    百度网盘生成二维码api
    【css3】--四种气泡
    纯CSS气泡框实现方法探究
    三种带箭头提示框总结实例
    纯CSS实现气泡框
    Windows 上 GitHub Desktop 的操作
  • 原文地址:https://www.cnblogs.com/maigeyouziba/p/11254418.html
Copyright © 2011-2022 走看看