Python 将Cookie导入Selenium不';行不通
登录Facebook后,我使用方法Python 将Cookie导入Selenium不';行不通,python,selenium,selenium-webdriver,cookies,selenium-chromedriver,Python,Selenium,Selenium Webdriver,Cookies,Selenium Chromedriver,登录Facebook后,我使用方法driver.get\u cookies() 输出: [{'domain': '.facebook.com', 'expiry': 1609944355, 'httpOnly': True, 'name': 'fr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '19KsJJcu9iZcNDw80.AWUnObiYyWlbmsSbMaAoTBQ3Qkg.BffyYn.EY.AAA.0.0
driver.get\u cookies()
输出:
[{'domain': '.facebook.com', 'expiry': 1609944355, 'httpOnly': True, 'name': 'fr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '19KsJJcu9iZcNDw80.AWUnObiYyWlbmsSbMaAoTBQ3Qkg.BffyYn.EY.AAA.0.0.BffyYq.AWWxZSl5V8s'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': True, 'name': 'xs', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '4%3A8K8IO-G4AqVxpw%3A2%3A1602168362%3A-1%3A-1'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': False, 'name': 'c_user', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '100055628751137'}, {'domain': '.facebook.com', 'expiry': 1665240357, 'httpOnly': True, 'name': 'datr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_X5OBe55yRMjKU-d8nSYQ'}, {'domain': '.facebook.com', 'expiry': 1602773165, 'httpOnly': False, 'name': 'dpr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '1.25'}, {'domain': '.facebook.com', 'expiry': 1602258362, 'httpOnly': True, 'name': 'spin', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'r.1002790228_b.trunk_t.1602168365_s.1_v.2_'}, {'domain': '.facebook.com', 'expiry': 1602773164, 'httpOnly': False, 'name': 'wd', 'path': '/', 'sameSite': 'Lax', 'secure': True, 'value': '1036x684'}, {'domain': '.facebook.com', 'expiry': 1665240361, 'httpOnly': True, 'name': 'sb', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_XwAJTQy5L-W6Ivkp2MBC'}]
然后我将它们保存在变量cookies
中,当我试图通过驱动程序导入cookies.add\u cookie()
方法时,我得到一个异常:
InvalidArgumentException
Message: invalid argument: missing 'cookie'
(Session info: chrome=85.0.4183.121)
守则:
driver = webdriver.Chrome()
driver.get('https://facebook.com')
cookies = "[{'domain': '.facebook.com', 'expiry': 1609944355, 'httpOnly': True, 'name': 'fr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '19KsJJcu9iZcNDw80.AWUnObiYyWlbmsSbMaAoTBQ3Qkg.BffyYn.EY.AAA.0.0.BffyYq.AWWxZSl5V8s'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': True, 'name': 'xs', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '4%3A8K8IO-G4AqVxpw%3A2%3A1602168362%3A-1%3A-1'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': False, 'name': 'c_user', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '100055628751137'}, {'domain': '.facebook.com', 'expiry': 1665240357, 'httpOnly': True, 'name': 'datr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_X5OBe55yRMjKU-d8nSYQ'}, {'domain': '.facebook.com', 'expiry': 1602773165, 'httpOnly': False, 'name': 'dpr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '1.25'}, {'domain': '.facebook.com', 'expiry': 1602258362, 'httpOnly': True, 'name': 'spin', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'r.1002790228_b.trunk_t.1602168365_s.1_v.2_'}, {'domain': '.facebook.com', 'expiry': 1602773164, 'httpOnly': False, 'name': 'wd', 'path': '/', 'sameSite': 'Lax', 'secure': True, 'value': '1036x684'}, {'domain': '.facebook.com', 'expiry': 1665240361, 'httpOnly': True, 'name': 'sb', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_XwAJTQy5L-W6Ivkp2MBC'}]"
driver.add_cookie(cookies)
driver.get('https://facebook.com')
尝试在循环中添加:
for cookie in cookies:
driver.add_cookie({'cookie' : cookie})
没什么帮助。。。我做错了什么
附言:我已经看到了事实上,你就快到了 此函数的参数
add\u cookie(cookie\u dict)
的格式为dictionary格式,因此在使用cookie之前,请先将cookie解析到dictionary中
请尝试以下代码:
cookies=[{'domain':'.facebook.com','expiration':1609944355,'httpOnly':True,'name':'fr','path':'/','sameSite':'None','secure':True,'value':'19KsJJcu9iZcNDw80.awunobiywlbmssbmaaotbq3qkg.BffyYn.EY.AAA.0.0.bffyyyq.awwzsl5v8s'},{'domain':'.facebook.com','expirement':1633704358',httpOnly':True,'name':'xs','path':'/','sameSite':'None','secure':True,'value':'4%3A8K8IO-G4AqVxpw%3A2%3A1602168362%3A-1%3A-3A-1'},{'domain':'.facebook.com','expirement':1633704358,'httpOnly':False,'name':'c_user','path':'/','sameSite':'None','secure':True,'value':'100055628751137'},{'domain':'.facebook.com','expirement':1665240357,'httpOnly':True,'name':'datr','path':'/','sameSite':'None','secure','True','value':'JyZ,{'domain':'.facebook.com','expirement':1602773165,'httpOnly':False,'name':'dpr','path':'/','sameSite':'None','secure':True,'value':'1.25},{'domain':'.facebook.com','expirement':1602258362,'httpOnly':True,'name':'spin','path':'/','sameSite':'None','secure':True,'value':'r.1002790228,{'domain':'.facebook.com','expiration':1602773164,'httpOnly':False,'name':'wd','path':'/','sameSite':'Lax','secure':True,'value':'1036x684'},{'domain':'.facebook.com','expiration':1665240361,'httpOnly':True,'name':'sb','path':':'/','sameSite':'None','secure','secure','True,'value':'JyZ
对于cookie中的cookie:
驱动程序。添加cookie(cookie)
事实上,你就快到了
此函数的参数add\u cookie(cookie\u dict)
的格式为dictionary格式,因此在使用cookie之前,请先将cookie解析到dictionary中
请尝试以下代码:
cookies=[{'domain':'.facebook.com','expiration':1609944355,'httpOnly':True,'name':'fr','path':'/','sameSite':'None','secure':True,'value':'19KsJJcu9iZcNDw80.awunobiywlbmssbmaaotbq3qkg.BffyYn.EY.AAA.0.0.bffyyyq.awwzsl5v8s'},{'domain':'.facebook.com','expirement':1633704358',httpOnly':True,'name':'xs','path':'/','sameSite':'None','secure':True,'value':'4%3A8K8IO-G4AqVxpw%3A2%3A1602168362%3A-1%3A-3A-1'},{'domain':'.facebook.com','expirement':1633704358,'httpOnly':False,'name':'c_user','path':'/','sameSite':'None','secure':True,'value':'100055628751137'},{'domain':'.facebook.com','expirement':1665240357,'httpOnly':True,'name':'datr','path':'/','sameSite':'None','secure','True','value':'JyZ,{'domain':'.facebook.com','expirement':1602773165,'httpOnly':False,'name':'dpr','path':'/','sameSite':'None','secure':True,'value':'1.25},{'domain':'.facebook.com','expirement':1602258362,'httpOnly':True,'name':'spin','path':'/','sameSite':'None','secure':True,'value':'r.1002790228,{'domain':'.facebook.com','expiration':1602773164,'httpOnly':False,'name':'wd','path':'/','sameSite':'Lax','secure':True,'value':'1036x684'},{'domain':'.facebook.com','expiration':1665240361,'httpOnly':True,'name':'sb','path':':'/','sameSite':'None','secure','secure','True,'value':'JyZ
对于cookie中的cookie:
驱动程序。添加cookie(cookie)
是的,它可以工作。但是如果我将cookie转换为字符串,那么如何将该字符串转换为列表?例如,如果我从文件中获取cookie,则方法驱动程序。get_cookies()需要字典形式的参数。该方法不关心如何或从何处获取字典,因此无论从文件、字符串或列表获取Cookie,请记住将其更改为字典。这取决于特定场景,我无法提供更多详细信息。是的,它可以工作。但如果我将Cookie转换为字符串,那么我如何转换它尝试列表?例如,如果我从一个文件中获取cookie,那么方法driver.get_cookies()需要字典形式的参数。该方法不关心如何或从何处获取字典,因此无论从文件、字符串或列表获取cookie,请记住将其更改为字典。这取决于特定场景,我无法提供更多详细信息。