Как загрузить каждый файл cookie в папку с pickle - PullRequest
0 голосов
/ 16 января 2019

В моей папке cookies есть много файлов cookies1.txt, cookies2.txt, ... и ниже мой сценарий, я пытаюсь использовать его для входа в facebook с помощью cookie, с каждым файлом cookie он загружает и выполняет затем завершите действие и выполните следующий загрузочный файл, он работает нормально, когда я запускаю каждый файл cookie один за другим, но когда я помещаю их все в папку, появляется ошибка, кто-то может мне помочь? Спасибо.

import os
import pickle
import selenium.webdriver


driver = selenium.webdriver.Firefox()
files = os.listdir("cookies")
for f in files:
    cookies = pickle.load(open(f, "rb"))
    for cookie in cookies:
        driver.add_cookie(cookie)
        driver.get("http://www.facebook.com")

Показывает:

Traceback (most recent call last):
  File "C:/Users/tuong cat/AppData/Local/Programs/Python/Python37-32/Lib/site-packages/new.py", line 10, in <module>
    driver.add_cookie(cookie)


  File "C:\Users\tuong cat\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 894, in add_cookie
    self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})
  File "C:\Users\tuong cat\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)


  File "C:\Users\tuong cat\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidCookieDomainException: Message: Document is cookie-averse

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Я думаю, что вы должны добавить куки после открытия URL

driver.get("http://www.facebook.com")
for f in files:
    cookies = pickle.load(open(f, "rb"))
    for cookie in cookies:
        driver.add_cookie(cookie)
0 голосов
/ 16 января 2019

1) Ваши файлы cookie должны иметь расширение ".pkl".

2) Ваши файлы должны быть сгенерированы пакетом pickle после входа в систему с вашими кредитами для Facebook под вашим конкретным доменом.

3) Вам следует загружать файлы cookie в вашем домене.

В вашем случае конкретный домен - facebook.com.

Надеюсь, это поможет вам!

PS: Вот мой рабочий пример для Facebook: https://github.com/ratmirasanov/demo_test_automation_project/tree/master/login_with_using_cookies/.

...