Selenium Webdriver在网站

时间:2018-02-16 19:03:54

标签: python selenium selenium-webdriver automation instagram

我一直致力于Instagram自动化程序,但有一个问题: 当我试图找到所有LIKE按钮并打印它们时

它只喜欢前4张图片,但还有更多,我不知道为什么它找不到它们

使用Selenium,Python,Selenium Webdriver,时间,键(来自selenium) 代码:

hearts = browser.find_elements_by_xpath("//*[contains(@class, '_eszkz
_l9yih')]")

for i, heart in enumerate(hearts):
    print('{}/{}'.format(i, len(hearts)))
    heart.click()
    time.sleep(2)

1 个答案:

答案 0 :(得分:0)

仅限于instagram加载页面项目的方式

Instagram只能加载4张图片

需要向下滚动页面以加载更多

hearts = driver.find_elements_by_xpath("//*[contains(@class, '_eszkz _l9yih')]")

while True: #infinite loop
    q = len(hearts)
    last_item = hearts[q-1]
    for i, heart in enumerate(hearts):
        print('{}/{}'.format(i, len(hearts)))
    #heart.click()
    sleep(2)
    last_item.location_once_scrolled_into_view
    hearts = driver.find_elements_by_xpath("//*[contains(@class, '_eszkz _l9yih')]")

获取最后一个项目列表,然后滚动到该列表并重新加载列表

Here the full code