实战要求:
要求模拟qq一键登录的方式去登录CSDN,并将登录后的cookie保存下来,再用保存下来的cookie去模拟免登录方式去登录CSDN。
遇到问题:
- 选择qq一键登录,切换对应的frame,依然报无法定位到frame错误
- 使用cookie去模拟免登录,总是报 Cookie ‘domain’ mismatch 错误
原因分析
- 无法定位到frame,是因为本次测试使用qq一键登录时会打开新的标签,需要定位到新的标签窗口,才能定位到frame,否则会默认在第一个窗口定位,肯定找不到元素啦
- 使用cookie模拟免登录url应该是:https://www.csdn.net/,而不是:https://passport.csdn.net/login?code=public
完整代码
get_loginCookies.py:模拟qq一键登录,登录成功并保存cookie
from time import sleep
from selenium import webdriver
import json
if __name__ == '__main__':
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://passport.csdn.net/login?code=public')
sleep(5)