Создание Instagram Bot с использованием библиотеки selenium - PullRequest
1 голос
/ 03 февраля 2020

Итак, я пытаюсь создать бота insta, который открывает определенный хэштег c в строке поиска и затем переходит к нему. У меня возникла проблема с навигацией бота к строке поиска, она всегда говорит мне, что путь не может быть найден, какие-либо идеи, как я могу настроить таргетинг бота на строку поиска и отправить ей ключи хэштега? вот мой код:

from selenium import webdriver
from time import sleep 
from insta import username,password,hashtag

class InstaBot():
def __init__(self):
    self.driver = webdriver.Chrome()

def login(self):
    self.driver.get('https://www.instagram.com/')

    sleep(3)

    #loggin in to instagram with facebook
    fb_btn = self.driver.find_element_by_xpath('//*[@id="react-root"]/section/main/article/div[2]/div[1]/div/form/div[1]/button')
    fb_btn.click()

    #logging into acc
    email = self.driver.find_element_by_xpath('//*[@id="email"]')
    email.send_keys(username)

    pswd = self.driver.find_element_by_xpath('//*[@id="pass"]')
    pswd.send_keys(password)

    login_btn = self.driver.find_element_by_xpath('//*[@id="loginbutton"]')
    login_btn.click()
    sleep(4)

    self.driver.find_element_by_xpath("//button[contains(text(), 'Not Now')]")\
        .click()

    #navigating to search bar and sending hashtag into it
    hashtag = self.driver.find_element_by_xpath('//*[@id="react-root"]/section/nav/div[2]/div/div/div[3]/div/div[1]/a/svg')
    hashtag.send_keys(hashtag)

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

Вы можете перейти к панели поиска, выполнив JavaScript:

SCRIPT = f"document.getElementsByClassName('XTCLo x3qfX')[0].value = '{SEARCH_VALUE}'"
driver.execute_script(SCRIPT)

Однако, если вы просто хотите go перейти на страницу хэштега, я бы порекомендовал использовать driver.get(f"https://www.instagram.com/explore/tags/{HASHTAG}/")

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

Вы можете напрямую отправить страницу, например:

https://www.instagram.com/explore/tags/{hastags}/

, поэтому

, когда вы запускаете программу, иногда она может нажимать разные кнопки. Почему, когда вы сделали одну и ту же программу, она делает что :) когда вы отправляете напрямую ссылку на hastags, она идет туда, даже когда программа нажимает разные кнопки

...