使用Selenium

时间:2019-07-02 16:18:30

标签: python selenium

我正在尝试使用Selenium在instagram上打印我的故事查看者的列表,但由于其他查看器是隐藏的,因此只能获取前11个,并且只能在“查看器”框架上滚动鼠标后才能查看。我仍然是硒和一般编码方面的初学者。

这里的问题是我没有要滚动的特定元素,也没有滚动到帧的末尾,我想一次能够向下滚动一定的偏移量并打印结果直到列表筋疲力尽。

我已经尝试过但没有成功的东西:

  • 使用键向下滚动,例如空格,向下箭头,向下翻页:什么都没有。
  • window.scrollBy:不起作用,因为它将滚动整个窗口,而不是观众弹出窗口
  • 将鼠标移到框架内,然后应用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位出现的观众。关于滚动代码的位置和方式有任何想法吗?还是有更好的方法来完成此任务?

预先感谢

0 个答案:

没有答案