Селен Инстаграм бот - получение имени автора сообщения - PullRequest
1 голос
/ 28 апреля 2020

В последнее время я работаю над своим ботом instagram, но моя единственная проблема - найти xpaths. После того, как я смог сделать лайки и комментарии, я начал работать над следующим. Я хотел отследить людей, за которыми мой бот следовал в CSV-файле. я успешно сделал это! я смог сделать файл с помощью кода. пытаясь получить имя пользователя, как когда-либо стало проблемой, потому что я не могу получить xpath имени пользователя, чтобы захватить текст. Я искал в Интернете Xpath и не мог найти ничего об этом. вместо этого я должен искать элемент по классу?

        usr = driver.find_element_by_xpath('Can't find this xpath').text
        try:
            if usr not in prev_user_list:
                if driver.find_element_by_xpath("Can't find this xpath").text == "follow":
                    print("following " + usr)
                    driver.find_element_by_xpath("Can't find this xpath").click()
                    time.sleep(10)
                    print("Followed! adding to the list...")
                    new_followed.append(usr)
                    print(usr + " has been added to the list")

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Чтобы получить имя из сообщения ("https://www.instagram.com/p/XXXXXX/"), используйте:

//div [@class="e1e1d"]/a/text()

Чтобы получить имя с главной страницы ("https://www.instagram.com/XXXXXX/") использование:

//a[@rel="nofollow"]/preceding-sibling::h2/text()
0 голосов
/ 28 апреля 2020

Если у вас есть ссылка на сообщение типа: https://www.instagram.com/p/B_YIs5oBEly/ Вы можете получить автора сообщения с помощью javascript. Например:

driver.get(<your_post_link>)

postAuthor = driver.execute_script("return $(".sqdOP").innerHTML")
print("Post Author:",postAuthor)

Если вы хотите указать Xpath элемента, щелкните правой кнопкой мыши веб-сайт, нажмите «Проверить» и найдите нужный вам xpath элемента. Щелкните правой кнопкой мыши по вашему элементу из меню элементов. нажмите кнопку «Копировать» и выберите «Копировать xpath», как:

Finding Xpath of an element

...