我们在常用的浏览器上登录新浪微博时,并不需要输入账号和密码。这是因为浏览器自身储存了cookie,避免了再次登录重复输入密码的繁琐。而使用Selenium本来就要安装浏览器驱动。所以只要一个driver.get_cookies()函数就可以获得cookie。
首先,我们要先模拟登录一次微博:
#登录微博
driver = webdriver.Chrome()
driver.get('https://weibo.com/')
time.sleep(5)
#输入账号
driver.find_element_by_xpath('//input[@id="loginname"]').send_keys('username')
#输入密码
driver.find_element_by_xpath('//input[@name="password"]').send_keys('password')
#点击登录
driver.find_element_by_xpath('//a[@class="W_btn_a btn_32px"]').click()
time.sleep(5)
#获取cookie
cookie = driver.get_cookies()
print (type(cookie))
print (cookie)
此时,我们就获得了浏览器的cookie。这个cookie是一个含有18个字典的列表,每个字典中又有7个元素:
{"domain": ".weibo.com",
"expiry": xxxxxxxx,
"httpOnly": False,
"name": "un