zoukankan      html  css  js  c++  java
  • selenium加载cookie报错问题:selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain

    在使用selenium进行自动化登录的过程中已经获取到cookie后,依旧报错:selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain

    获取cookie和添加cookie原代码如下:

    #获取cookie
    
    dr = webdriver.Chrome("D:softwareProBrowserDriverchromedriver.exe")
    dr.maximize_window()
    dr.get(url)
    c = dr.get_cookie('JSESSIONID')
    print(c)
    #添加cookie
    
    dr = webdriver.Chrome("D:softwareProBrowserDriverchromedriver.exe")
    dr.maximize_window()
    dr.add_cookie({'domain': '192.168.2.211', 'httpOnly': True, 'name': 'JSESSIONID', 'path': '/smartcommty', 'sameSite': 'Lax', 'secure': False, 'value': '5574c24a-dbc4-4a7d-9607-cc24f5653ebf'})
    dr.get(url)
    dr.refresh()

    得到的页面一直是域名为data的白页面:

     经过网上查找资料,自我分析得知:selenium的默认域名为data,cookie中带域名,在设置cookie时发现当前域名不包含在cookie中,所以设置失败,一直都是data的这个页面。

    解决方法就是:在设置cookies前,先访问需要登录的地址,然后设置cookies登录跳转,就OK了。

    如下:

    #添加cookie
    
    dr = webdriver.Chrome("D:softwareProBrowserDriverchromedriver.exe")
    dr.maximize_window()
    dr.get(url)
    dr.add_cookie({'domain': '192.168.2.211', 'httpOnly': True, 'name': 'JSESSIONID', 'path': '/smartcommty', 'sameSite': 'Lax', 'secure': False, 'value': '5574c24a-dbc4-4a7d-9607-cc24f5653ebf'})
    dr.get(url)
    dr.refresh()
  • 相关阅读:
    try catch finally
    类的小练习
    易混淆概念总结
    C#中struct和class的区别详解
    Doing Homework again
    悼念512汶川大地震遇难同胞——老人是真饿了
    Repair the Wall
    Saving HDU
    JAVA-JSP隐式对象
    JAVA-JSP动作
  • 原文地址:https://www.cnblogs.com/deliaries/p/14121204.html
Copyright © 2011-2022 走看看