1、免登录
在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考
解决方式:手动请求中添加cookies、火狐的profile文件记录信息实现、人工介入、万能验证码、去掉验证码
1.1、手动在请求中添加cookies信息
1 url = "http://www.baidu.com" 2 driver = webdriver.Firefox() 3 driver.get(url) 4 time.sleep(3) 5 #添加cookies的方式 6 7 c1 = {'domain': '.baidu.com', 8 'name':'BDUSS', 9 'value': 'dyRlBucW9WOUhpNXducElPT1dlVHN1SFdFZUllTkJ-TEg5djNAAVe6gcaGFuc2hvdWthaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHa68lh2uvJYU2', 10 'path': '/', 11 'httpOnly': True, 12 'secure':False 13 } 14 driver.add_cookie(c1) 15 time.sleep(3) 16 # print(driver.get_cookies()) #得到当前cookies信息 17 # driver.delete_all_cookies() #删除所有cookies信息 18 driver.refresh() 19 time.sleep(5) 20 21 driver.quit()
1.2、火狐的profile文件记录信息实现
1 #利用火狐profile文件的方式(前提:必须先手动登录一下) 2 profile_ff = "C:/Users/Hanxiaobei/AppData/Roaming/Mozilla/Firefox/Profiles/ytw908g4.default" 3 4 fp = webdriver.FirefoxProfile(profile_ff) 5 driver = webdriver.Firefox(fp) 6 url = "http://www.baidu.com" 7 driver.get(url) 8 time.sleep(5) 9 driver.quit()
1.3、人工介入
1 driver.find_element_by_link_text("登录").click() 2 driver.find_element_by_id("TANGRAM__PSP_8__userName").send_keys("hankai") 3 driver.find_element_by_id("TANGRAM__PSP_8__password").send_keys("hankai") 4 time.sleep(15) #导入等待时间人工输入验证码 5 driver.find_element_by_id("TANGRAM__PSP_8__submit").click() 6 7 time.sleep(5) 8 driver.quit()
1.4、万能验证码、去掉验证码
万能验证码、去掉验证码需要开发的配合