如何忽略特定异常并用自定义输出替换它在Python中
我有一个脚本,可以让我登录到一个网站。我需要不断点击一个“加载更多”的按钮,才能看到第一个讨论串。当我到达底部时,selenium会报错,因为“加载更多”按钮不再可用,说明已经到达了开始的位置。
还有其他一些错误我想看到,但对于这个特定的错误,我只想忽略它,并打印出“已到达初始讨论串”。我打算这样做:
class ReachedEndException(Exception):
pass
try:
do_somethong()
except ReachedEndException:
print "Reached initial thread"
我这样做对吗?或者有什么更好的方法吗?
[编辑] 根据Konstantin的回答,这里有一个可用的例子。
try:
while True:
dr.find_element_by_xpath("//li[@class='more-pages']/a[1]").click()
sleep(2)
except NoSuchElementException:
print "Reached Initial Thread."
1 个回答
2
你走在正确的道路上。你只需要捕捉到正确的错误。记住,你可以捕捉到任何错误,不管是系统自带的、用户自己定义的,还是来自外部库的。你需要弄清楚Selenium抛出了什么错误,然后把它捕捉到。