2014-09-16 4 views
0

Выполнение запроса XPATH может вернуть нам узел, атрибут узла, результат выполнения функции, и т.д. Исполнительный в XPath в Минке должны возвращать элемент узла в find(), findAll() и has() методов NodeElement класс.Проверьте существующий экземпляр элемента узла удовлетворяет условие XPath

Бывают ситуации, когда у нас есть выбранный элемент узла, и мы хотим сделать утверждения, что у него есть класс или что какое-то выражение xpath для этого элемента удовлетворяет условию.

Что было бы правильным и изящным способом сделать это?

ответ

1

В xpath мы можем ссылаться на сам элемент, используя ось self. Идея состоит в том, чтобы выбрать self с требуемым условием, если его удовлетворенная Mink получит тот же самый элемент (не результат функции или выражения, или атрибут, или что-то еще), поэтому не будет вызывать исключение.

$element = $this->getSession()->getPage()->find('//div'); 
$element->has('/self::*[position() = 1]'); 
$element->has('/self::*[contains(concat(" ", normalize-space(@class), " "), " my-class ")]'); 
Смежные вопросы