• 用户名密码的参数化(读取文件)


    虫师的Selenium Webdriver(Python)第三版27.3同名章节中说,在文件中读取用户名密码需要指定读取的长度,且无法循环读取。自己测试过程中却没遇到这样的问题,循环读取也是可以实现的,只是在多次登录会造成校验验证码的问题(多次错误登录)。关于验证码的识别,发现pytesser实现识别验证码比较方便,正在安装ing(感觉Windows下安装好麻烦),先把循环读取代码贴出来:

    # coding=utf-8
    from selenium import webdriver
    import os,time
    
    userfile=open('users.txt')
    users=userfile.readlines()
    
    pwdfile=open('password.txt')
    pwds=pwdfile.readlines()
    
    driver=webdriver.Firefox()
    
    driver.get("http://www.baidu.com")
    
    #driver.maximize_window()
    
    driver.find_element_by_xpath(".//*[@id='u1']/a[6]").click()
    
    driver.current_window_handle
    
    for user in users:
    	for pwd in pwds:
                #driver.current_window_handle
    	    driver.find_element_by_id("TANGRAM__PSP_8__userName").clear()
    	    driver.find_element_by_id("TANGRAM__PSP_8__userName").send_keys(user)
    
    	    driver.find_element_by_id("TANGRAM__PSP_8__password").clear()
    	    driver.find_element_by_id("TANGRAM__PSP_8__password").send_keys(pwd)
    
    	    driver.find_element_by_id("TANGRAM__PSP_8__submit").click()
    time.sleep(5)
    userfile.close()
    pwdfile.close()
    
    driver.quit()
    
  • 相关阅读:
    [每日一题]石子合并 -- 区间DP
    [每日一题]: 最长上升子序列 AND 最长不上升子序列
    [每日一题]:最大子矩阵和
    入门DP--最大子段和
    [转载]:正确的提问方式
    springmvc.xml
    service层springservice.xml文件
    aop切面配置
    配置事务通知
    短信验证
  • 原文地址:https://www.cnblogs.com/xjin/p/4105753.html
Copyright © 2020-2023  润新知