我成功地使用Selenium和PhantomJS来重新加载动态加载的无限滚动页面,如下例所示.但是如何修改它以便不是手动设置一些重载,程序在达到最低点时停止了?
reloads = 100000 #set the number of times to reload
pause = 0 #initial time interval between reloads
driver = webdriver.PhantomJS()
# Load Twitter page and click to view all results
driver.get(url)
driver.find_element_by_link_text("All").click()
# Keep reloading and pausing to reach the bottom
for _ in range(reloads):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(pause)
text_file.write(driver.page_source.encode("utf-8"))
text_file.close()
Run Code Online (Sandbox Code Playgroud)