首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何忽略Selenium中的异常?

问我如何忽略Selenium中的异常?
EN

Stack Overflow用户
提问于 2016-06-29 17:43:26
回答 3查看 7.9K关注 0票数 1

我使用Python 来抓取网站,但是我的爬虫停止了,因为有一个例外:

StaleElementReferenceException:消息:陈旧的元素引用:元素没有附加到页面文档

即使元素没有附加,我如何继续爬行?

更新

我将代码更改为:

代码语言:javascript
复制
try:
    libelle1 = prod.find_element_by_css_selector('.em11')
    libelle1produit = libelle1.text  # libelle1 OK
    libelle1produit = libelle1produit.decode('utf-8', 'strict')
except StaleElementReferenceException:
    pass

但我有个例外

代码语言:javascript
复制
NoSuchElementException: Message: no such element

我也试过这个:

代码语言:javascript
复制
try:
    libelle1 = prod.find_element_by_css_selector('.em11')
    libelle1produit = libelle1.text  # libelle1 OK
    libelle1produit = libelle1produit.decode('utf-8', 'strict')
except :
    pass
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-02 02:20:16

它看起来像是浏览器呈现引擎或Javascript引擎正在使用该元素,并且它正在阻止对该元素的其他外部操作。您可以在一段时间后尝试访问它。如果在较长时间内无法访问它,则会引发异常。给出了这里的一些较好的例子。

票数 1
EN

Stack Overflow用户

发布于 2016-06-29 17:47:14

在产生该错误的代码块周围放置一个“尝试--除了”块。

票数 4
EN

Stack Overflow用户

发布于 2016-06-29 18:11:07

更具体地讲约翰·戈登在说什么。处理StaleElementReferenceException常见的selenium异常并忽略它:

代码语言:javascript
复制
from selenium.common.exceptions import StaleElementReferenceException

try:
    element.click()
except StaleElementReferenceException:  # ignore this error
    pass  # TODO: consider logging the exception
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38106678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档