selenium访问其他页面的时候怎么保持cookie
时间: 2024-09-30 15:13:15 浏览: 40
当你使用Selenium进行网页自动化测试或者爬虫时,保持登录状态并携带cookies通常是非常重要的。Selenium本身并不直接管理浏览器的cookies,它只是控制浏览器的行为。为了在切换页面时保留cookies,你需要通过以下步骤操作:
1. **启动无头浏览器**(如ChromeDriver)并设置`desired_capabilities`,包括`acceptInsecureCerts`等必要配置项,这有助于处理一些网站的安全证书问题。
```python
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
# 添加头部,让浏览器像真实用户一样携带cookies
chrome_options.add_argument('--user-data-dir=/path/to/user-data-dir')
driver = webdriver.Chrome(chrome_options=chrome_options)
```
这里,`/path/to/user-data-dir`是你希望保存cookies的目录。
2. **登录并获取cookies**:
- 打开目标网站并完成登录流程。
- 使用`get_cookies()`方法从打开的窗口或标签中获取所有的cookies信息。
```python
initial_cookies = driver.get_cookies()
```
3. **切换到另一个页面**:
- 在新的URL上调用`get()`或者直接发送请求。
4. **恢复cookies**:
- 切换到新页面后,使用`add_cookie(cookie)`函数添加之前获取的cookies。
```python
for cookie in initial_cookies:
driver.add_cookie(cookie)
driver.get('http://newpage.com')
```
5. **执行后续操作**:
现在你应该能够在新页面上看到之前保存的cookies了。
阅读全文