Instagram Popup关注者列表向下滚动

时间:2020-03-20 06:13:14

标签: python web-scraping scroll instagram

我想从instagram关注者列表中打印关注者名称列表。但它只会向下滚动,在控制台中不会打印出超过7个关注者名称。这是我的代码:

All info found
Setting avg frame rate based on r frame rate
stream 0: start_time: 0.080 duration: -102481911520608.625
format: start_time: 0.080 duration: -9223372036854.775 bitrate=0 kb/s
nal_unit_type: 0, nal_ref_idc: 0
nal_unit_type: 7, nal_ref_idc: 3
nal_unit_type: 0, nal_ref_idc: 0
nal_unit_type: 8, nal_ref_idc: 3
Ignoring NAL type 0 in extradata
Ignoring NAL type 0 in extradata
nal_unit_type: 7, nal_ref_idc: 3
nal_unit_type: 8, nal_ref_idc: 3
nal_unit_type: 6, nal_ref_idc: 0
nal_unit_type: 5, nal_ref_idc: 3
unknown SEI type 229
Reinit context to 800x608, pix_fmt: yuvj420p
(lldb) 

这是错误消息:

def another_user_followers(browser, acc_username, no_of_followers_to_follow):
signIn(browser)
search_box = WebDriverWait(browser, 10).until(
    EC.visibility_of_element_located(
        (By.XPATH, "/html/body/div[1]/section/nav/div[2]/div/div/div[2]/input")
    )
)
search_box.send_keys(acc_username)
time.sleep(1)
search_box.send_keys(Keys.ENTER)
time.sleep(1)
search_box.send_keys(Keys.ENTER)
time.sleep(2)
try:
    browser.find_element_by_css_selector(
        "#react-root > section > main > div > header > section > ul > li:nth-child(2) > a").click()
except:
    print("This Account is Private or It is a Tag")
    browser.find_element_by_xpath("/html/body/div[1]/section/nav/div[2]/div/div/div[1]/a/div/div").click()
    sys.exit()
time.sleep(2)
browser.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/button").click()
time.sleep(2)
browser.find_element_by_css_selector(
    "#react-root > section > main > div > header > section > ul > li:nth-child(2) > a").click()
for i in range(1, no_of_followers_to_follow):
    followers_list = []
    str1 = "/html/body/div[4]/div/div[2]/ul/div/li["
    str2 = "]/div/div[3]"
    final_string = str1 + str(i) + str2
    a = browser.find_element_by_xpath(final_string)
    if i % 6 == 0:

        followedPopup = browser.find_element_by_xpath("//div[@class='isgrP']")
        browser.execute_script('arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;',followedPopup)
        time.sleep(1)
        followers_list.append(a.text)
        time.sleep(1)
        print(followers_list)
    else:
        followers_list.append(a.text)
        time.sleep(1)
        print(followers_list)

(会话信息:chrome = 80.0.3987.149)

我的代码有什么问题?我希望在控制台中打印100个关注者。但是它只打印6个名字

1 个答案:

答案 0 :(得分:0)

比从html和while解析更好地定位特定类 使用find_element_by_xpath应该以2个正斜杠('//')开头

driver.find_element_by_xpath('//html...')
相关问题