|
发表于 2020-7-28 21:34:38
|
显示全部楼层
本帖最后由 suchocolate 于 2020-7-30 10:10 编辑
selenium的cookies和浏览器看到的不太一样:- url = 'https://www.baidu.com'
- driver = webdriver.Firefox()
- driver.get(url)
- print(driver.get_cookies())
复制代码 打印出来是这种:
所以让selenium用cookie访问,需要按照上面网站返回的设置这些参数:
- cookie = {'name': 'foo', 'value': 'bar', 'path': '/', 'domain': 'baidu.com', 'secure': 'False', 'httpOnly': 'False', 'expiry': 'None'}
- driver.add_cookie(cookie)
- driver.get(url)
- driver.get_cookies()
复制代码 另外也可以用pickle保存cookie,下次直接使用:
- # 1)保存:
- driver.get(url)
- time.sleep(10)
- pickle.dump(driver.get_cookies(), open("cookies.pkl", "wb"))
- # 2) 使用:
- cookies = pickle.load(open("cookies.pkl", "rb"))
- for cookie in cookies:
- driver.add_cookie(cookie)
- driver.get(url)
复制代码
|
|