在您發佈相同的鏈接,查找「自定義條件」部分,即:
$driver->wait()->until(
function() use ($driver) {
$elements = $driver->findElements(WebDriverBy::cssSelector('li.foo'));
return count($elements) > 5;
},
'Error locating more than five elements'
);
注意在代碼示例中使用「findElements」的。當沒有發現任何東西時,將返回一個空數組。如果只有三個元素中的一個必須可見,則可以執行類似操作:
$driver->wait()->until(
function() use ($driver) {
$elements1 = $driver->findElements(WebDriverBy::cssSelector('li.foo1'));
$elements2 = $driver->findElements(WebDriverBy::cssSelector('li.foo2'));
$elements3 = $driver->findElements(WebDriverBy::cssSelector('li.foo3'));
return count($elements1) + count($elements2) + count($elements3) > 1;
},
'Error locating more than five elements'
);