我一直在尝试从AlgoExplorer网站上抓取数据。它有一个带有分页的表来存储数据。即使我使用显式等待来点击“下一步”按钮,它仍然得到StaleException。这是我的一段代码,还有一张错误的图片:
for i in tqdm(range(5)):
page = driver.find_element_by_tag_name('tbody').find_elements_by_tag_name('a')
for e in page:
pages.append(e.text)
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.pagination.next'))).click()当然,每个变量都已声明,库也已导入。
你能给我解释一下为什么我还有这个例外吗?enter image description here
发布于 2020-12-07 04:57:10
当元素不再附加到页面时,将引发StaleElementReferenceException。我的猜测是序列看起来像这样:
已找到
的情况下,它是不同的元素
您可以尝试通过使用https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver检查添加/删除了哪些DOM元素来验证我的假设
https://stackoverflow.com/questions/65165173
复制相似问题