selenium携带cookies模拟登陆CSDN的实现
首先是获取cookies保存到本地
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#@Time:2020/12/2011:00
#@Author:huni
#@File:cookies获取.py
#@Software:PyCharm
fromseleniumimportwebdriver
fromtimeimportsleep
importjson
if__name__=='__main__':
driver=webdriver.Chrome(executable_path='./chromedriver.exe')
driver.maximize_window()
driver.get('https://passport.csdn.net/login?code=public')
sleep(2)
driver.find_element_by_xpath('/html/body/div[2]/div/div/div[1]/div[2]/div[5]/ul/li[1]/a').click()
sleep(6)
dictCookies=driver.get_cookies()#获取list的cookies
jsonCookies=json.dumps(dictCookies)#转换成字符串保存
withopen('csdn_cookies.txt','w')asf:
f.write(jsonCookies)
print('cookies保存成功!')
然后是利用本地的cookies模拟登陆csdn首页
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#@Time:2020/12/2011:10
#@Author:huni
#@File:使用cookies登录csdn.py
#@Software:PyCharm
fromseleniumimportwebdriver
importjson
defbrowser_initial():
browser=webdriver.Chrome(executable_path='./chromedriver.exe')
browser.maximize_window()
browser.get(
'https://www.csdn.net/')
returnbrowser
deflog_csdn(browser):
withopen('csdn_cookies.txt','r',encoding='utf8')asf:
listCookies=json.loads(f.read())
#往browser里添加cookies
forcookieinlistCookies:
cookie_dict={
'domain':'.csdn.net',
'name':cookie.get('name'),
'value':cookie.get('value'),
"expires":'',
'path':'/',
'httpOnly':False,
'HostOnly':False,
'Secure':False
}
browser.add_cookie(cookie_dict)
browser.refresh()#刷新网页,cookies才成功
if__name__=="__main__":
browser=browser_initial()
log_csdn(browser)
cookies是有时间限制的,定期获取即可,登陆之后可以进行其他自动化操作,比如给别人的博客评论,点赞等等。
到此这篇关于selenium携带cookies模拟登陆CSDN的实现的文章就介绍到这了,更多相关seleniumcookies模拟登陆内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!