我如何通过硒条件执行我的代码?

时间:2019-06-12 10:42:37

标签: php laravel selenium selenium-webdriver webdriver

我想按条件执行代码

我的硒的代码是在连接站点之后在网站上的find元素,如果发现它执行第一个代码,或者如果找不到,则执行第二个代码。那就是我想要的

但是我运行执行我的代码,却遇到了类似于下面代码的错误

[2019-06-12 19:11:45] local.ERROR: Undefined property: 
App\WebDriver\Remote\RemoteWebDriver::$WebDriverExpectedCondition 
{"exception":"[object] (ErrorException(code: 0): Undefined property: 

下面的代码是我的laravel代码

if($driver->findElement(WebDriverBy::xpath('//*[@id="err_common"]/p'))){
    Log::info('fail login');
} else {
    Log::info('success login');
}

如何将其修复为我想要的? 我的英语水平很低, 感谢您收看我的帖子

1 个答案:

答案 0 :(得分:0)

如果该元素不存在,则$driver->findElement(...)方法调用应引发NoSuchElementException。您应该能够将代码包装在try-catch块中,而不是if语句中:

try {
    $driver->findElement(WebDriverBy::xpath('//*[@id="err_common"]/p'));

    Log::info('success login');
} catch (NoSuchElementException $ex)
    Log::info('fail login');
}