为了账号安全,请及时绑定邮箱和手机立即绑定

Python Selenium - 尝试/排除不起作用

Python Selenium - 尝试/排除不起作用

白衣染霜花 2022-01-18 21:36:44
我有一个 Selenium 脚本,我可以在其中输入一系列网站并获取一些数据。有时数据不存在,我只是想在我的字符串上写“Cant find x data”之类的东西。当前脚本执行以下操作:#Getting "Status"try:    strValue = strValue + ',' + browser.find_element_by_css_selector('#visKTTabset > div.h-tab-content > div.h-tab-content-inner > div:nth-child(12) > table > tbody > tr.stripes-even > td:nth-child(3) > span').textexcept webdriver.NoSuchElementException:    StrValue = strValue + ',' + "Status not found"该脚本在“状态”实际存在时起作用,但 id 没有进入“例外”部分。我的脚本顶部有这个:from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.common.exceptions import NoSuchElementExceptionbrowser = webdriver.Chrome(executable_path=r'C:\Selenium\chromedriver.exe')browser.get('https://motorregister.skat.dk/dmr-front/dmr.portal?_nfpb=true&_nfpb=true&_pageLabel=vis_koeretoej_side&_nfls=false')browser.implicitly_wait(10)  # Will set the global wait to 10 seconds.gnash我在这里尝试了解决方案:Try except in python/selenium still throw NoSuchElementException 错误,但没有奏效。
查看完整描述

2 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

Python 名称区分大小写,因此您可能需要:

strValue = strValue + ',' + "Status not found"


查看完整回答
反对 回复 2022-01-18
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

NoSuchElementException不是 的 一部分webdriver, 它 是 的 一部分selenium.common.exceptions


try:

    strValue = strValue + ',' + browser.find_element_by_css_selector('#visKTTabset > div.h-tab-content > div.h-tab-content-inner > div:nth-child(12) > table > tbody > tr.stripes-even > td:nth-child(3) > span').text

except NoSuchElementException:  # without webdriver.

    StrValue = strValue + ',' + "Status not found"

并确保strValue在try except块之前声明。


作为旁注,在 Python 中strValue应该是str_value


查看完整回答
反对 回复 2022-01-18
  • 2 回答
  • 0 关注
  • 175 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信