Python Can';我的列表中没有更多的11个元素(selenium)

Python Can';我的列表中没有更多的11个元素(selenium),python,list,selenium,web-scraping,instagram,Python,List,Selenium,Web Scraping,Instagram,我拼命想用selenium将instagram中的追随者添加到列表中,但控制台总是只返回11个元素: 控制台返回: 在我的代码中,我使用除了以防止他只返回11个元素,滚动动作允许获得更多>11个元素,但似乎只有11个元素 代码: browser.get('https://www.instagram.com/champagnepapi/') browser.find_element_by_xpath('/html/body/div[1]/section/main/div/header/sect

我拼命想用selenium将instagram中的追随者添加到列表中,但控制台总是只返回11个元素:

控制台返回:

在我的代码中,我使用
除了
以防止他只返回11个元素,滚动动作允许获得更多>11个元素,但似乎只有11个元素

代码:

browser.get('https://www.instagram.com/champagnepapi/')

browser.find_element_by_xpath('/html/body/div[1]/section/main/div/header/section/ul/li[2]/a/span').click() #Click to followers dialog

followers = []

elems = browser.find_elements_by_xpath("//a[@class='FPmhX notranslate  _0imsa ']")


sleep(2)

fBody  = browser.find_element_by_xpath("/html/body/div[5]/div/div/div[2]")


for i in range(1,35): # Wanted to get 35 followers, but it only scroll until 35th follower
    try:
        followers.append(elems[i].get_attribute('href')) # Generate a list where to put the followers name

    except:
        browser.execute_script('arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;', fBody) # scroll action
        time.sleep(0.5)  
print(followers)
  
我试图找出问题所在,但我看不出:我


感谢您的支持

尽管您尝试在for循环中向下滚动,但在启动for循环之前,您将获得列表
元素
中的所有元素。如果问题确实源于滚动,则需要在将数据分配给
元素之前执行该操作

我会尝试在
browser.get之后直接滚动到你的关注者页面的底部https://www.instagram.com/champagnepapi/)
以真正加载所需的所有跟随者数据,并从循环中删除滚动部分

另外:当您可以在
元素中迭代时,为什么要使用范围for循环

for elem in elems:
    try:
        followers.append(elem.get_attribute('href'))
        ...
如果这不起作用-您确定您正在使用当前选择获取所有数据吗?尝试上述解决方案后,请尝试打印元素的len
print(len(elems))
,以查看是否仍然只有11个元素。如果是这样,您可能需要尝试其他选择器


但是,如果长度超过11,您可能需要更改访问href
elems[i]的方式。获取属性('href')

谢谢您的返回,如果我直接滚动到底部,问题是仅获取最后11个元素,因为instagram制作了dynamics
div
(使用react js)只能显示可见元素