当找不到元素时 Return 'NameError' 而不是 'Pass'
Return 'NameError' instead of 'Pass' when Can't find element
我正在使用 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
。
错误是因为您仅在 try 部分设置了元素。在 try-except or in except
.
之外设置 'element'
例如:
try:
element = driver.find_element_by_xpath('--path--').text.encode('ascii','ignore')
except NoSuchElementException:
element = None
根据代码块中的 try {}
块,当元素不存在时 引发异常 :
element = driver.find_element_by_xpath('--path--').text.encode('ascii','ignore')
这里变量 element 永远不会被初始化。
异常在 catch {}
块中处理,您只需按如下方式传递它:
except NoSuchElementException:
pass
因此,当您尝试 print()
变量 元素 时继续前进,如下所示:
print element
您看到 Python 错误为:
NameError: name 'element' is not defined
我正在使用 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
。
错误是因为您仅在 try 部分设置了元素。在 try-except or in except
.
'element'
例如:
try:
element = driver.find_element_by_xpath('--path--').text.encode('ascii','ignore')
except NoSuchElementException:
element = None
根据代码块中的 try {}
块,当元素不存在时 引发异常 :
element = driver.find_element_by_xpath('--path--').text.encode('ascii','ignore')
这里变量 element 永远不会被初始化。
异常在 catch {}
块中处理,您只需按如下方式传递它:
except NoSuchElementException:
pass
因此,当您尝试 print()
变量 元素 时继续前进,如下所示:
print element
您看到 Python 错误为:
NameError: name 'element' is not defined