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

虫师的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()

 

你可能感兴趣的:(读取文件)