我正在尝试使用Selenium在instagram上打印我的故事查看者的列表,但由于其他查看器是隐藏的,因此只能获取前11个,并且只能在“查看器”框架上滚动鼠标后才能查看。我仍然是硒和一般编码方面的初学者。
这里的问题是我没有要滚动的特定元素,也没有滚动到帧的末尾,我想一次能够向下滚动一定的偏移量并打印结果直到列表筋疲力尽。
我已经尝试过但没有成功的东西:
execute_script("scroll(0,400)")
,没有结果execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scr1)
也没有成功这是我的代码的一部分:
#to find the x button and then move mouse inside the frame
x=browser.find_element_by_xpath('//html/body/div[3]/div/div/div[1]/div/div[2]/button/span')
action.move_to_element(x).perform()
action.move_by_offset(0, 50).perform()
time.sleep(2)
#extract viewers
viewersPanel=browser.find_element_by_xpath('/html/body/div[3]/div/div/div[2]')
viewers=viewersPanel.text
print (viewers)
目前,此功能有效,但仅适用于前11位出现的观众。关于滚动代码的位置和方式有任何想法吗?还是有更好的方法来完成此任务?
预先感谢