在 Selenium 中,可以使用 add_cookie() 方法向浏览器添加 Cookie,模拟登录状态。下面是一个示例代码,演示如何使用 Selenium 设置登录后的网页 Cookie:
from selenium import webdriver
# 创建浏览器对象,这里使用 Chrome 浏览器
driver = webdriver.Chrome()# 访问登录页面
driver.get("https://example.com/login")# 输入用户名和密码,模拟登录
username_input = driver.find_element_by_name("username")
password_input = driver.find_element_by_name("password")
submit_button = driver.find_element_by_name("submit")
username_input.send_keys("your_username")
password_input.send_keys("your_password")
submit_button.click()# 等待登录完成,一般可以通过等待特定元素出现来实现# ...# 获取登录后的 Cookie
cookies = driver.get_cookies()# 关闭浏览器
driver.quit()# 将 Cookie 序列化为字符串,保存到文件中或者数据库中
cookie_str ="; ".join([f"{cookie['name']}={cookie['value']}"for cookie in cookies])print(cookie_str)
上述代码首先创建了一个 Chrome 浏览器对象,并访问了登录页面。然后通过 find_element_by_name() 方法找到了用户名、密码输入框和提交按钮,并模拟输入用户名和密码,点击提交按钮进行登录。等待登录完成后,使用 get_cookies() 方法获取当前浏览器的所有 Cookie,保存到变量 cookies 中。最后,将 Cookie 序列化为字符串,可以保存到文件或者数据库中。
在后续的爬虫中,可以使用 add_cookie() 方法向浏览器添加 Cookie,从而模拟登录状态。例如:
from selenium import webdriver
# 创建浏览器对象,这里使用 Chrome 浏览器
driver = webdriver.Chrome()# 访问网页
driver.get("https://example.com")# 添加 Cookie
cookies =[{"name":"cookie1","value":"value1"},{"name":"cookie2","value":"value2"},# ...]for cookie in cookies:
driver.add_cookie(cookie)# 等待加载完成# ...# 进行后续操作,例如查找元素,模拟点击等# ...# 关闭浏览器
driver.quit()
上述代码首先创建了一个 Chrome 浏览器对象,并访问了网页。然后通过 add_cookie() 方法向浏览器添加 Cookie,从而模拟登录状态。等待加载完成后,可以进行后续操作,例如查找元素、模拟点击等。最后,关闭浏览器。
版权归原作者 玫川绔紫 所有, 如有侵权,请联系我们删除。