使用Selenium Python滚动到底部

时间:2015-09-24 18:59:44

标签: python selenium selenium-webdriver scrapy

我使用Selenium和Python从this网站中提取医生列表。我选择专业选项并提取结果。一旦我们在twitter Feed中滚动页面,就会显示结果。我无法滚动页面查看结果。我尝试了多种方法,例如 send_keys

   for i in range(0,15):
                self.driver.find_element_by_id("doctor-matrix-section").send_keys(Keys.PAGE_DOWN)
                time.sleep(1)
                print 'hello'
                print i
                i+= 1

循环被用作我不知道我需要多长时间按 PAGE DOWN 按钮。 我还尝试了另一种方法:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

我所遵循的方法都没有奏效。任何帮助都非常有用。

2 个答案:

答案 0 :(得分:2)

您引用的网站对我来说加载速度非常慢,很难针对您的具体应用进行测试。我过去能够在无限加载场景中滚动的一种方法是使用selenium来选择正文并将其发送给空格键按键。

bg = driver.find_element_by_css_selector('body')

bg.send_keys(Keys.SPACE)

您可能希望在for i in range(x)循环中尝试使用它来实现所需的滚动长度。

答案 1 :(得分:1)

我认为这是您正在寻找的答案:

from selenium.webdriver.common.keys import Keys

elem = self.driver.find_element_by_id("doctor-matrix-section")
elem.send_keys(Keys.END)

这将导致网页一次性结束。