下面的代码:
driver.find_element(By.XPATH, "/html/body/...").text
但是,我正在寻找的元素是可选的。它有时会出现,有时不出现。我希望跟踪它是否存在。如果它不存在,代码不应该终止,因为driver. find_element抛出NoSuchElementException错误。我希望继续编码。
NoSuchElementException
hmtdttj41#
如果元素不存在,可以使用try..except块忽略
try: driver.find_element(By.XPATH, "/html/body/...").text except: pass
ipakzgxi2#
使用“try:except NoSuchElementException:”语句
sz81bmfz3#
尝试
from selenium.common.exceptions import NoSuchElementException try: driver.find_element(By.XPATH, "/html/body/...").text except NoSuchElementException: #print('no element') pass
z4iuyo4d4#
不要捕捉原始异常。相反,处理所需的NoSuchElementException以防止片状异常的泄漏,如下所示:
try: driver.find_element(By.XPATH, "/html/body/...").text except NoSuchElementException: pass
tf7tbtn25#
尝试以下操作,仅当具有此xpath的元素存在时,获取文本,否则继续:
if len(driver.find_elements(By.XPATH, "/html/body/...")) > 0: driver.find_element(By.XPATH, "/html/body/...").text ...
5条答案
按热度按时间hmtdttj41#
如果元素不存在,可以使用try..except块忽略
ipakzgxi2#
使用“try:except NoSuchElementException:”语句
sz81bmfz3#
尝试
z4iuyo4d4#
不要捕捉原始异常。
相反,处理所需的NoSuchElementException以防止片状异常的泄漏,如下所示:
tf7tbtn25#
尝试以下操作,仅当具有此xpath的元素存在时,获取文本,否则继续: