【问题标题】:Selenium except NoSuchElementException not working in my python script [duplicate]除了 NoSuchElementException 之外的硒在我的 python 脚本中不起作用[重复]
【发布时间】:2019-07-19 20:01:14
【问题描述】:

我有一个非常简单的代码,我正在寻找一个类,当该类不存在时,我想捕捉它并更新我的 CSV 中的状态。我正在实现这个:

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time

invalid = browser.find_element_by_class_name('_3lLzD')
try:
    Update status
except NoSuchElementException as e:
    Update Status

它仍然向我抛出错误:

Traceback (most recent call last):
  File "C:/Users/Krenovate/Desktop/automate/automate/automate.py", line 35, in <module>
    invalid = browser.find_element_by_class_name('_3lLzD')
  File "C:\Users\Krenovate\PycharmProjects\mxrecord\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 564, in find_element_by_class_name
    return self.find_element(by=By.CLASS_NAME, value=name)
  File "C:\Users\Krenovate\PycharmProjects\mxrecord\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
    'value': value})['value']
  File "C:\Users\Krenovate\PycharmProjects\mxrecord\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Krenovate\PycharmProjects\mxrecord\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: ._3lLzD

我做错了什么

【问题讨论】:

    标签: python selenium selenium-webdriver


    【解决方案1】:

    根据documentation,定位器函数旨在在未找到时抛出异常。因此,您得到的异常完全符合预期。

    如果您不确定元素是否存在,最简单的方法是将其放在 try 块中

    try:
        invalid = browser.find_element_by_class_name('_3lLzD')
        Update status
    except NoSuchElementException as e:
        Update Status
    

    或使用 explicit waits 超时。

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 2017-05-22
      • 1970-01-01
      • 2018-04-20
      • 2013-06-27
      • 1970-01-01
      • 2016-03-15
      • 2021-10-04
      • 1970-01-01
      相关资源
      最近更新 更多