python – 无法捕获异常

所以我试图捕获Webdriver异常,并且不希望它的回溯污染我的日志.这是一些代码

from selenium.common.exceptions import TimeoutException, WebDriverException

try:
    webdriverwait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, '.loading')))
except TimeoutException:
    log.msg("Seneium Timeout: {}".format(response.url))
except WebDriverException as e:
    log.msg("Selenium Exception: {0} Message: {1}".format("my message", str(e)))
finally:
    driver.quit()

但我仍然得到这些:

 <full traceback here>
 selenium.common.exceptions.WebDriverException: Message: Can not connect to GhostDriver

我究竟做错了什么?

解决方法:

初始化WebDriver实例时,异常会在try / except块之外引发:

driver = webdriver.PhantomJS()

仅供参考,这是在使用GhostDriver启动PhantomJS时发生的,引自source code

def start(self):
    """
    Starts PhantomJS with GhostDriver.

    :Exceptions:
     - WebDriverException : Raised either when it can't start the service
       or when it can't connect to the service
    """
    try:
        self.process = subprocess.Popen(self.service_args, stdin=subprocess.PIPE,
                                        close_fds=platform.system() != 'Windows',
                                        stdout=self._log, stderr=self._log)

    except Exception as e:
        raise WebDriverException("Unable to start phantomjs with ghostdriver.", e)
    count = 0
    while not utils.is_connectable(self.port):
        count += 1
        time.sleep(1)
        if count == 30:
             raise WebDriverException("Can not connect to GhostDriver")

并且,start()是called in WebDriver‘s constructor (__init__() method).

换句话说,它启动服务,但无法连接到它.

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...