我想按条件执行代码
我的硒的代码是在连接站点之后在网站上的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');
}
如何将其修复为我想要的? 我的英语水平很低, 感谢您收看我的帖子
答案 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');
}