Как загрузить каждый файл cookie в папку с маринадом или чем-то еще? - PullRequest
0 голосов
/ 17 января 2019

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

import os
import pickle
import selenium.webdriver
import time

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

Ошибка:

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>
    cookies = pickle.load(open(f, "rb"))
FileNotFoundError: [Errno 2] No such file or directory: 'cookies2.txt'

1 Ответ

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

Что нужно предоставить open () - это полный путь к вашему файлу cookie.

В противном случае вы просто проверяете текущую рабочую директорию, в которой, очевидно, нет этого файла, поскольку она находится в папке cookie.

Я думаю, что следующий фрагмент кода должен помочь прояснить ситуацию:

full_path = os.path.join(os.getcwd(), "cookies", f)
cookies = pickle.load(open(full_path , "rb"))
...