issue1:selelium使用cookie登录百度不能登录成功

from selenium import webdriver
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait

driver=webdriver.Chrome()
driver.get("https://www.baidu.com/")

driver.maximize_window()
driver.implicitly_wait(10)
driver.find_element_by_xpath("(//*[text()=\"登录\"])[2]").click()
driver.find_element_by_xpath("//*[text()=\"帐号登录\"]").click()
driver.find_element_by_xpath("//*[@name=\"userName\"]").send_keys("183XXXX")
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_11__password\"]").send_keys("aaXXXX")
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_11__submit\"]").click()

cookie1=driver.get_cookies()
print(cookie1)

driver.delete_all_cookies()
driver.refresh()
print("delete cookie then refresh")

# cookie1=[{'name': 'BA_HECTOR', 'domain': '.baidu.com', 'expiry': 1642397039, 'secure': False, 'httpOnly': False, 'value': '2p800h2gah202h4gld1gu9rr00q', 'path': '/'}, {'name': 'BAIDUID_BFESS', 'domain': '.baidu.com', 'expiry': 1673929441, 'sameSite': 'None', 'httpOnly': False, 'secure': True, 'value': '69D8136B54D4D5CB9D4AEEBD2BB4AEE4:FG=1', 'path': '/'}, {'name': 'H_PS_PSSID', 'domain': '.baidu.com', 'path': '/', 'secure': False, 'httpOnly': False, 'value': '35105_35630_34584_35490_35701_34812_35320_26350'}, {'name': 'BAIDUID', 'domain': '.baidu.com', 'expiry': 1673929433, 'secure': False, 'httpOnly': False, 'value': '69D8136B54D4D5CB9D4AEEBD2BB4AEE4:FG=1', 'path': '/'}, {'name': 'BIDUPSID', 'domain': '.baidu.com', 'expiry': 3789877080, 'secure': False, 'httpOnly': False, 'value': '69D8136B54D4D5CBFCCE4DB67D709994', 'path': '/'}, {'name': 'PSTM', 'domain': '.baidu.com', 'expiry': 3789877080, 'secure': False, 'httpOnly': False, 'value': '1642393439', 'path': '/'}, {'name': 'BD_UPN', 'domain': 'www.baidu.com', 'expiry': 1643257439, 'secure': False, 'httpOnly': False, 'value': '12314353', 'path': '/'}, {'name': 'BD_HOME', 'domain': 'www.baidu.com', 'path': '/', 'secure': False, 'httpOnly': False, 'value': '1'}]
for cookie in cookie1:
    driver.add_cookie(cookie)

driver.refresh()
print("add cookie then refresh")

问题现象:上述代码段最后刷新页面后还是不能登录进百度

解决方案:登录进页面后等待5秒获取登录后的cookie,否则获取的还是登录前的cookie

from selenium import webdriver
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait

driver=webdriver.Chrome()
driver.get("https://www.baidu.com/")

driver.maximize_window()
driver.implicitly_wait(10)
driver.find_element_by_xpath("(//*[text()=\"登录\"])[2]").click()
driver.find_element_by_xpath("//*[text()=\"帐号登录\"]").click()
driver.find_element_by_xpath("//*[@name=\"userName\"]").send_keys("183ZZZZ")
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_11__password\"]").send_keys("aa1ZZZZZZ!")
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_11__submit\"]").click()

#***************加5秒等待页面全部加载完成
sleep(5)
cookie1=driver.get_cookies()
print(cookie1)

driver.delete_all_cookies()
driver.refresh()
print("delete cookie then refresh")

# cookie1=[{'name': 'BA_HECTOR', 'domain': '.baidu.com', 'expiry': 1642397039, 'secure': False, 'httpOnly': False, 'value': '2p800h2gah202h4gld1gu9rr00q', 'path': '/'}, {'name': 'BAIDUID_BFESS', 'domain': '.baidu.com', 'expiry': 1673929441, 'sameSite': 'None', 'httpOnly': False, 'secure': True, 'value': '69D8136B54D4D5CB9D4AEEBD2BB4AEE4:FG=1', 'path': '/'}, {'name': 'H_PS_PSSID', 'domain': '.baidu.com', 'path': '/', 'secure': False, 'httpOnly': False, 'value': '35105_35630_34584_35490_35701_34812_35320_26350'}, {'name': 'BAIDUID', 'domain': '.baidu.com', 'expiry': 1673929433, 'secure': False, 'httpOnly': False, 'value': '69D8136B54D4D5CB9D4AEEBD2BB4AEE4:FG=1', 'path': '/'}, {'name': 'BIDUPSID', 'domain': '.baidu.com', 'expiry': 3789877080, 'secure': False, 'httpOnly': False, 'value': '69D8136B54D4D5CBFCCE4DB67D709994', 'path': '/'}, {'name': 'PSTM', 'domain': '.baidu.com', 'expiry': 3789877080, 'secure': False, 'httpOnly': False, 'value': '1642393439', 'path': '/'}, {'name': 'BD_UPN', 'domain': 'www.baidu.com', 'expiry': 1643257439, 'secure': False, 'httpOnly': False, 'value': '12314353', 'path': '/'}, {'name': 'BD_HOME', 'domain': 'www.baidu.com', 'path': '/', 'secure': False, 'httpOnly': False, 'value': '1'}]
for cookie in cookie1:
    driver.add_cookie(cookie)

driver.refresh()
print("add cookie then refresh")










# sleep(3)
# cookie1=driver.get_cookies()
# print(cookie1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值