selenium加载cookie报错问题:selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cooki
内容摘要
在使用selenium进行自动化登录的过程中已经获取到cookie后,依旧报错:selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain
获取cookie
文章正文
在使用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()
代码注释
[!--zhushi--]