2017-06-03 87 views
1

在下面的代码中,我想检查元素是否存在于XPath中,然后只有它应该执行代码。如何检查laravel黄昏测试中是否存在元素?

if($browser->driver->findElement(WebDriverBy::xpath('/html/body/div[1]/div/section/div[3]/div[2]/div/table/tbody/tr['.$i.']/td[2]'))!==null) 
{ 
    $sort=$browser->driver->findElement(WebDriverBy::xpath('/html/body/div[1]/div/section/div[3]/div22]/div/table/tbody/tr['.$i.']/td[2]'))->gettext(); 
echo $sort; 
} 

否则请建议是否有另一种方法来检查元素是否存在于laravel黄昏。 P.S.我尝试了whenAvailable方法,但在这种情况下它无法帮助我。

回答

1

当我想检查是否一个元素存在,我通常会做这样的事情:如果元素不存在

$this->browse(function (Browser $browser) { 
    $this->assertNotNull($browser->element('#idString')); 
} 
+0

这将返回一个错误。当元素没有被发现时,什么Rushi wnat是另一个陈述。 –

0
/* 
* check element exist 
* if it doesn't not exist 
* will throw exception 
* 
* @retuen void 
*/ 

try { 
    $this->browse(function (Browser $browser) { 
     $elementExist = $this->assertNotNull($browser->element('#idString')); 

     if (empty($elementExist)) { 
      \Log::info('element exist') 
     } 
    } 
} 
catch (\Exception $e) { 
    \Log::info($e->getMessage()); 
}