douduanque5850 2016-03-29 15:24
浏览 60

无法在PHP Selenium webdriver中捕获异常

I'm trying to catch errors in pages that timeout when running them with Facebook's PHP webdriver.

The page load and wait are both succesfully called, but the TimeOutException thrown by wait() doesn't get caught in either catch block.

try {
    $this->webDriver->get(self::BASE_URI.$uri_to_check);
    $this->webDriver->wait($webDriver, 100, 500)->until(
    WebDriverExpectedCondition::titleIs('My Page'));
}
catch (TimeOutException $e) {
    return "Timeout Exception because".$e->getMessage();
}
catch (Exception $e) {
    return "Failed to load page because".$e->getMessage();
}

How can I catch this?

  • 写回答

2条回答 默认 最新

  • douxiong5438 2016-10-05 04:26
    关注

    I think you're looking to use "Implicit wait" as opposed to "Explicit wait". Your example is making use of "Explicit wait" i.e. will try for a number of sendcond then sleep (not timeout). Refer to the php-driver wiki.

    https://github.com/facebook/php-webdriver/wiki/HowTo-Wait

    评论

报告相同问题?

悬赏问题

  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 如何提取csv文件中需要的列,将其整合为一篇完整文档,并进行jieba分词(语言-python)
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题