0

    用python调用selenium获取浏览器新窗口的 cookie 信息

    2023.06.12 | admin | 137次围观

    Cookie 是网站用于存储用户信息的一些数据文件,它们可以使网站记住用户的登录状态、偏好设置和本地内容等。Cookie 有两种类型:第一方 Cookie 是由您访问过的网站创建的网站可以不使用cookie,第三方 Cookie 是由其他网站创建的。

    一般情况下可能需要获取浏览器点击弹出新窗口的 Cookie 信息的场景有:

    当使用Python调用Selenium库时,你可以通过以下步骤来获取浏览器点击弹出新窗口的Cookie信息:

    首先,确保你已经安装了Selenium库。你可以使用pip install selenium命令来进行安装。导入必要的模块:

    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.common.by import By
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    

    设置Chrome浏览器选项,并启动浏览器:

    chrome_options = Options()
    chrome_options.add_argument("--headless")  # 在无界面模式下运行,如果需要可视化界面,可以去掉该行
    driver = webdriver.Chrome(service=Service('path/to/chromedriver'), options=chrome_options)
    

    确保将path/to/chromedriver替换为你的Chrome驱动程序的实际路径。

    打开网页,点击弹出新窗口的元素:

    driver.get('https://example.com')  # 将URL替换为你要访问的网页
    # 在此处执行点击弹出新窗口的操作,例如点击按钮或链接
    

    切换到新打开的窗口:

    driver.switch_to.window(driver.window_handles[-1])
    

    获取Cookie信息:

    cookies = driver.get_cookies()
    for cookie in cookies:
        print(cookie)
    

    这将打印出所有Cookie的信息。你可以根据需要进行进一步处理。

    关闭浏览器:

    driver.quit()
    

    这是一个使用Selenium库的Python示例代码,用于获取浏览器点击弹出新窗口的Cookie信息。记得根据实际情况进行适当的修改网站可以不使用cookie吗,以适应你的具体需求和环境。

    部分网站还会限制访问,这时候可以加上爬虫代理IP提高成功率,通过设置WebDriver的代理选项来实现。以下是修改后的代码示例:

    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.common.by import By
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    # 亿牛云(动态转发隧道代理)爬虫代理加强版 IP地址、端口号、用户名和密码
    proxy_host = 'www.16yun.cn'
    proxy_port = '31000'
    proxy_username = '16YUN'
    proxy_password = '16IP'
    # 设置Chrome浏览器选项
    chrome_options = Options()
    chrome_options.add_argument("--headless")  # 在无界面模式下运行,如果需要可视化界面,可以去掉该行
    # 设置代理IP
    chrome_options.add_argument(f'--proxy-server=http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}')
    # 启动浏览器
    driver = webdriver.Chrome(service=Service('path/to/chromedriver'), options=chrome_options)
    # 打开网页,点击弹出新窗口的元素
    driver.get('https://example.com')  # 将URL替换为你要访问的网页
    # 在此处执行点击弹出新窗口的操作,例如点击按钮或链接
    # 切换到新打开的窗口
    driver.switch_to.window(driver.window_handles[-1])
    # 获取Cookie信息
    cookies = driver.get_cookies()
    for cookie in cookies:
        print(cookie)
    # 关闭浏览器
    driver.quit()
    

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论