我正在尝试向下滚动infinite scroll page并获取新闻链接。问题是当我向下滚动页面100次,并且我试图获取链接时,Python发出了一个错误,上面写着:“StaleElementReferenceException:Message:stale element reference:element not not attached to page document”。我认为它是因为页面得到更新,滚动页面不再可用。这是我用Selenium Webdriver滚动页面的代码:
import urllib2
from bs4 import BeautifulSoup
from __future__ import print_function
from selenium import webdriver #open webdriver for specific browser
from selenium.webdriver.common.keys import Keys # for necessary browser action
from selenium.webdriver.common.by import By # For selecting html code
import time
driver = webdriver.Chrome('C:\\Program Files (x86)\\Google\\Chrome\\chromedriver.exe')
driver.get('http://seekingalpha.com/market-news/top-news')
for i in range(0,100):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(15)
URL = driver.find_elements_by_class_name('market_current_title')
print URL
以及获取网址的代码
for a in URL:
links = a.get_attribute('href')
print(links)
我想知道是否有任何解决方案可以解决此问题,或者可以使用请求库获取此特定页面的URL,因为我无法做到这一点。