无法使用python和硒在instagram帖子上向下滚动赞者列表

时间:2020-08-10 11:21:33

标签: javascript python python-3.x selenium web-scraping

im trynig从任何用户的instagram帖子中获取喜欢的人的列表。当您运行代码时,由于不向下滚动而导致错误``索引超出范围''。我该如何向下滚动? ??

def get_user_post_likers(self, user, limit=10):
    self.nav_user(user)
    sleep(self.random_number_gen())
    first_photo = self.driver.find_element_by_class_name("eLAPa")
    first_photo.click()
    sleep(self.random_number_gen())
    likers_list_btn = self.driver.find_element_by_xpath("/html/body/div[4]/div[2]/div/article/div[3]/section[2]/div/div[2]/button/span")
    likers_list_btn.click() 
    sleep(self.random_number_gen())
    fbody = self.driver.find_element_by_xpath("/html/body/div[5]/div/div/div[2]/div/div")
    scroll = 0
    while scroll <5:
        self.driver.execute_script('arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;', fbody)
        scroll += 1
        sleep(2)
    likers_list = []
    for i in range(limit):
        likers = self.driver.find_elements_by_class_name('FPmhX')[i]
        likers_list.append(likers.text)  
        print(len(likers_list)) 
    print(likers_list)
  1. 列表项

    return likers_list
    

1 个答案:

答案 0 :(得分:0)

this answer中所述,您可以使用以下代码: driver.execute_script("window.scrollTo(0, Y)") 其中Y是高度(在FullHD显示器上是1080(按照1920x 1080 p)。 然后,您可以创建一个循环,并始终将Y值更改为其他数字(以使其连续向下滚动)。