无法找到输入文本元素

时间:2017-12-14 08:10:26

标签: php selenium-webdriver

我无法在selenium facebook webdriver中找到输入文本元素。

我希望它能够进一步运行,即使它无法找到文本输入。我使用以下代码但没有工作:

if(count($driver->findElement(WebDriverBy::id('custname'))) > 0){
    $driver->findElement(WebDriverBy::id('custname'))->sendKeys("John Doe");

}

实际上问题是如果服务器中有数据它不会显示输入文本,它只显示一个span标记。但如果服务器中没有数据,则显示输入文本。这就是为什么我只想检查输入文本是否存在,然后在输入中插入数据,否则继续。

错误是: 致命错误:未捕获Facebook \ WebDriver \ Exception \ NoSuchElementException:没有这样的元素:无法找到元素:

2 个答案:

答案 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");
}