我正在使用Python Selenium。当我尝试这个时:
try:
element = driver.find_element_by_xpath('--path--').text.encode('ascii','ignore')
except NoSuchElementException:
pass
print element
但是,当元素不存在时,显示错误
NameError: name 'element' is not defined
..什么时候只能pass
什么时候找不到元素。
答案 0 :(得分:1)
错误是因为您只在try部件中设置元素。在'element'
之外设置try-except or in except
。
<强>实施例强>
try:
element = driver.find_element_by_xpath('--path--').text.encode('ascii','ignore')
except NoSuchElementException:
element = None
答案 1 :(得分:0)
根据代码块中的try {}
块,当元素不存在时,会引发 exception :
element = driver.find_element_by_xpath('--path--').text.encode('ascii','ignore')
此处变量元素永远不会被初始化。
异常在catch {}
块中处理,您只需将其传递给它:
except NoSuchElementException:
pass
因此,当你尝试print()
变量元素时向前推进,如下所示:
print element
您将 Python 错误视为:
NameError: name 'element' is not defined