使用 selenium 库创建 Instagram Bot

Creating Instagram Bot using selenium library

所以我正在尝试创建 insta 机器人,它在搜索栏中打开一个特定的主题标签,然后导航到它。我一直在将机器人导航到搜索栏时遇到问题,它总是告诉我无法找到路径,有什么想法可以使机器人成为目标搜索栏并向其发送主题标签键吗?这是我的代码:

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)

您可以通过执行 JavaScript:

导航到搜索栏
SCRIPT = f"document.getElementsByClassName('XTCLo x3qfX')[0].value = '{SEARCH_VALUE}'"
driver.execute_script(SCRIPT)

但是,如果您只想转到主题标签页面,我建议您使用 driver.get(f"https://www.instagram.com/explore/tags/{HASHTAG}/")

您可以直接发送页面,例如:

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

所以

当您 运行 程序有时会点击不同的按钮 ıdk 为什么当我制作相同的程序时会那样 :) 当您直接发送 hastags 的链接时即使程序点击不同的按钮也会出现