【问题标题】:Selenium Instagram Bot FollowerSelenium Instagram 机器人追随者
【发布时间】:2021-02-23 14:08:39
【问题描述】:

我想开设一个 Instagram 帐户,点击他们的关注者并关注他们的所有关注者。所以我写了一个硒程序。此代码打开个人资料,然后使用我的用户名和密码登录,然后点击关注者,但之后,它不会关注所有关注者。请帮忙。

from selenium import webdriver
class InstaBot:
   

    def __init__(self):
           self.driver = webdriver.Firefox()
           self.driver.implicitly_wait(10)
           self.driver.get("https://www.instagram.com/randomusername/")
       
   def get_follower(self, username, pw):
       self.driver.find_element_by_xpath("/html/body/div[1]/section/main/div/header/section/ul/li[3]/a")\
           .click()
      
      
       self.driver.find_element_by_xpath("//input[@name=\"username\"]")\
           .send_keys(username)
      
       self.driver.find_element_by_xpath("//input[@name=\"password\"]")\
           .send_keys(pw)
 
       self.driver.find_element_by_xpath('//button[@type="submit"]')\
           .click()
 
       self.driver.find_element_by_xpath("/html/body/div[1]/section/main/div/div/div/section/div/button")\
           .click()
 
       self.driver.find_element_by_xpath("/html/body/div[1]/section/main/div/header/section/ul/li[2]/a")\
           .click()

       
       follow = self.driver.find_elements_by_xpath("/html/body/div[5]/div/div/div[2]/ul/div/li[3]/div/div[2]")

       i =1

       for follower in follow:
            if(i !=1):
                self.driver.find_elements_by_xpath("/html/body/div[5]/div/div/div[2]/ul/div/li[1]/div/div[3]")\
                    .click()

                i += 1   
      


       
 
 
my_bot = InstaBot()
my_bot.get_follower('username', 'pw')

【问题讨论】:

标签: python selenium


【解决方案1】:

最后两个 xpath 表明您只能找到一个元素。

试试print(len(follow)),它应该与您期望的元素数量相匹配。

然后当您遍历follow 列表时,xpath 会选择 DOM 中的一个元素,每次都是同一个元素。你没有对上一步做任何事情,所以我认为这甚至没有必要——你只需要一个更好的 xpath。一个会选择所有你想点击的元素

如果这不能满足您的需求(并且您决定不为 API 放弃它),那么今晚我可以提供更多帮助

这也是一个很好的枚举案例。它为您处理递增逻辑

       for i, follower in enumerate(follow):
            if i == 1: continue
            self.driver.find_elements_by_xpath("/html/body/div[5]/div/div/div[2]/ul/div/li[1]/div/div[3]")\
                    .click()

【讨论】:

    猜你喜欢
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    相关资源
    最近更新 更多