Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将selenium.webdriver.get_cookies()转换为cookie文本文件以与pycurl一起使用_Python_Selenium_Curl_Cookies - Fatal编程技术网

Python 如何将selenium.webdriver.get_cookies()转换为cookie文本文件以与pycurl一起使用

Python 如何将selenium.webdriver.get_cookies()转换为cookie文本文件以与pycurl一起使用,python,selenium,curl,cookies,Python,Selenium,Curl,Cookies,selenium.webdriver.get_cookies()提供了两个值/对字典。我假设这些字典都是一块饼干。如何将这些cookie写入文本文件,该文本文件将使用以下代码将cookie从cookie.txt文件加载到curl会话 p = pycurl.Curl() cookiefile = open('cookie.txt', 'r') p.setopt(pycurl.URL, my_url) p.setopt(pycurl.COOKIEFILE, cookiefile) p.perform

selenium.webdriver.get_cookies()提供了两个值/对字典。我假设这些字典都是一块饼干。如何将这些cookie写入文本文件,该文本文件将使用以下代码将cookie从cookie.txt文件加载到curl会话

p = pycurl.Curl()
cookiefile = open('cookie.txt', 'r')
p.setopt(pycurl.URL, my_url)
p.setopt(pycurl.COOKIEFILE, cookiefile)
p.perform()
有没有更好的方法将cookies从selenium会话传输到curl会话以进行文件下载?我看到了关于使用pickle的帖子,但是在上面的代码中将pickle.dump()生成的文件用作cookiefile会导致以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: invalid arguments to setopt
那么它会像这样开始吗

Set Cookie: ASP.NET_SessionId=4jqhjdiq9k12ry45ahqtux3e (path=/; secure=False; httpOnly=True; domain=www.domain.com)

然后另一行以Set Cookie:开头,第二本词典的名称和值后跟括号中的附加属性?

我问这个问题后找到的所有东西都指向这个问题的答案:,也是我问题的答案(说curl使用netscape Cookie格式).

使用此代码 我使用的是请求,不是pycurl,但我认为这会对您有所帮助

cookies_list = driver.get_cookies()
cookies_dict = []
for cookie in cookies_list:
    cookies_dict.append([cookie['name'],cookie['value']])
cookies_dict = dict(cookies_dict)

这会奏效的

cookies_list = driver.get_cookies()
cookies_dict = []
for cookie in cookies_list:
    cookies_dict.append([cookie['name'],cookie['value']])
cookies_dict = dict(cookies_dict)
requests.get(URL, cookies=cookies_dict)