如何向下滚动页面以避免下载文件时出错

时间:2019-05-11 23:30:23

标签: python selenium selenium-webdriver selenium-chromedriver

我有这段代码可以从URL下载多个文件。之所以起作用,部分原因是仅下载页面中可见的第一个文件。 问题似乎是当下载每个文件时,页面不会自动向下滚动。

我收到此错误:

Element <a abc-id="0" href="#" class="todown" nc="0">Download</a> 
is not clickable at point (1474, 639). Other element would receive 
the click: <div id="footer">...</div>

如何在下面的脚本中添加自动向下滚动?

from time import sleep
from selenium import webdriver

driver = webdriver.Chrome("C:\webdrivers\chromedriver.exe")

driver.get ("http://www.examplesite.com/")
time.sleep(3)

tr = driver.find_elements_by_xpath("//*[@id='dwn']/div/table[1]/tbody[1]/tr") 

for i in range(1,len(tr)):
    driver.find_element_by_xpath("//*[@id='dwn']/div/table[1]/tbody[1]/tr["+str(i)+"]/td[3]/a").click()

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我只需添加location_once_scrolled_into_view,以便将相应的行滚动到视图中。

for i in range(1,length_of_tr):
    ele = driver.find_element_by_xpath("//*[@id='dwn']/div/table[1]/tbody[1]/tr["+str(i)+"]/td[3]/a")
    ele.location_once_scrolled_into_view
    ele.click()