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

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

 

posted @ 2014-11-18 14:45  sukekes  阅读(1539)  评论(2编辑  收藏  举报