如何忽略特定异常并将其替换为python中的自定义输出

时间:2014-04-07 22:35:01

标签: python selenium exception-handling

我有一个脚本将我登录到一个网站,我需要反复点击一个加载按钮才能到达第一个线程,当我到达结束时,selenium会抛出一个错误,因为加载更多按钮不可用已经开始了。

我还想看到其他错误但是对于这个特定的错误,我只是想忽略它并打印“Reached initial thread”。 我打算做点什么:

class ReachedEndException(Exception):
        pass
try:
    do_somethong()
except ReachedEndException:
    print "Reached initial thread"

我是在正确的轨道上或者最好的方法是什么?

[编辑] 根据康斯坦丁的回答一个工作实例。

try:
    while True:
        dr.find_element_by_xpath("//li[@class='more-pages']/a[1]").click()
        sleep(2)
    except NoSuchElementException:
        print "Reached Initial Thread."

取自Selenium docs

1 个答案:

答案 0 :(得分:2)

你走在正确的轨道上。你只需要抓住正确的错误。请记住,您可以捕获任何错误,无论是内置,用户定义还是来自外部库。你需要弄清楚Selenium正在筹集什么错误并抓住它。