Проблема итерации Facebook Bot / Преобразование строк текстового файла в массив - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь сделать бота для Facebook. Я должен войти в Facebook с именем пользователя и паролем (находится в identifiants.txt). После того, как я делаю действия на фейсбуке, я выхожу из системы и мне нужно снова войти под другим именем пользователя и паролем Каждая строка соответствует имени пользователя, а следующая строка соответствует паролю. Таким образом, следующая строка - это имя пользователя. Я пытался преобразовать текстовый файл в таблицу имен пользователей. Таким образом, имена пользователей имеют нечетные поля, а пароли - четные. Итак, вот что я попытался сделать:

nombre_listeux = 2

class Facebook(scrapy.Spider):

def __init__(self):
    self.driver = webdriver
    self.url = 'https://www.facebook.com/'
    webdriver.maximize_window()

def login(self,nombre_listeux):

    f=open("/Users/anthonyjacquelin/Desktop/Dev Projects/Bot Insta /Facebook Bot/identifiants.txt","r")

    for i in range(0,nombre_listeux):
        self.driver.get(self.url)
        lines=f.readlines()
        print(i)
        username=lines[2*i]
        password=lines[2*i+1]
        print(username)
        print(password)
        user = self.driver.find_element_by_xpath("//input[@name=\"email\"]")
        user.send_keys(username)
        pwd = self.driver.find_element_by_xpath("//input[@name=\"pass\"]")
        pwd.send_keys(password)
        sleep(medium_time)
        Facebook_Bot.change_pic(nombre_listeux)
        Facebook_Bot.log_out()

    f.close()

Программа работает для первой пары идентификаторов и для i = 0, но когда i = 1, это то, что программа возвращает:

Traceback (most recent call last):
File "/Users/anthonyjacquelin/Desktop/Dev Projects/Bot Insta /Facebook Bot/facebook.py", line 68, in <module>
Facebook_Bot.login(nombre_listeux)
File "/Users/anthonyjacquelin/Desktop/Dev Projects/Bot Insta /Facebook Bot/facebook.py", line 29, in login
username=lines[2*i]
IndexError: list index out of range

Identifiants.txt также выглядит так:

dermacareprofr@gmail.com
password1
legrandpatrick410@gmail.com
password2

Было бы здорово, если бы вы могли мне помочь, спасибо! 101

1 Ответ

0 голосов
/ 18 февраля 2020

попробуйте получить данные из вашего текстового файла

nombre_listeux = 2
with open('/Users/anthonyjacquelin/Desktop/Dev Projects/Bot Insta /Facebook Bot/identifiants.txt', 'r') as f:
    lines = f.readlines()

for i in range(0, nombre_listeux):
    username = lines[2 * i].strip()
    password = lines[2 * i + 1].strip()
    print(username)
    print(password)
...