我无法在selenium facebook webdriver中找到输入文本元素。
我希望它能够进一步运行,即使它无法找到文本输入。我使用以下代码但没有工作:
if(count($driver->findElement(WebDriverBy::id('custname'))) > 0){
$driver->findElement(WebDriverBy::id('custname'))->sendKeys("John Doe");
}
实际上问题是如果服务器中有数据它不会显示输入文本,它只显示一个span标记。但如果服务器中没有数据,则显示输入文本。这就是为什么我只想检查输入文本是否存在,然后在输入中插入数据,否则继续。
错误是: 致命错误:未捕获Facebook \ WebDriver \ Exception \ NoSuchElementException:没有这样的元素:无法找到元素:
答案 0 :(得分:2)
use Facebook\WebDriver\Exception\NoSuchElementException;
try {
$search = $driver->findElement(WebDriverBy::id('custname'));
} catch (NoSuchElementException $e) {
echo "Not found";
}
答案 1 :(得分:0)
您可以检查元素是否可见:
$userName = $driver->findElement(WebDriverBy::id('custname'));
if ($userName->isVisible()) {
$userName->sendKeys("John Doe");
}