0
私は異なるWebページでiensと呼ばれるWebサイトをスクラップしようとしています。今、私は1ページをうまく削り取ることができます。Python Selenium - StaleElementReferenceException
これまでの私のコード:
chrome_path = '/Users/username/Downloads/chromedriver'
driver = webdriver.Chrome(chrome_path)
url = 'https://www.iens.nl/restaurant'
pageExt = '#page='
restaurantList = []
cityList = ['utrecht']
def scrape(pageNumber):
driver.get(url + '+' + cityList[0] + pageExt + str(pageNumber))
items = driver.find_elements_by_class_name("resultItem-
information")
for item in items:
restaurantList.append(item.text)
return restaurantList
print scrape(14)
は、これは私が必要とする結果が得られます。私はこのような複数のページこすりしたいときしかし:
print scrape(12)
print scrape(14)
を私は、ウェブページ12上のデータのための正しい結果を得るが、その代わりとしてだけでなく、ウェブページ14の結果を得て、私は次のエラーメッセージが表示されます
selenium.common.exceptions.StaleElementReferenceException: Message:
stale element reference: element is not attached to the page document
ページは、あなたが私を助けることができる
https://www.iens.nl/restaurant+utrechtと呼ばれていますか?
ありがとうございます!
私はもはやエラーにはなりません。最初の行は正しいですが、2番目の "scrape(number)"は、最初のスクレイプと同じ行をrestaurantListに追加します。だからrestaurantLine = [最初のページからの結果、最初のページからの結果] – titusAdam
範囲10まで使用すると、ページ2,4,6にbtwがありません! – titusAdam
何らかの理由でページが 'driver.get'の後でランダムにリフレッシュされる可能性があるので、私は1秒間待機します。これは今働くようです – Andersson