Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查现有节点元素实例是否满足xpath条件_Php_Xpath_Bdd_Behat_Mink - Fatal编程技术网

Php 检查现有节点元素实例是否满足xpath条件

Php 检查现有节点元素实例是否满足xpath条件,php,xpath,bdd,behat,mink,Php,Xpath,Bdd,Behat,Mink,执行xpath查询可以返回节点、节点属性、函数结果等。在Mink中执行xpath必须返回find()、findAll()和has()类的NodeElement方法中的节点元素 有些情况下,当我们有一个选定的节点元素,并且我们想要断言它有一个类或者该元素上的某个xpath表达式满足一个条件时 做这件事最合适、最优雅的方法是什么?在xpath中,我们可以使用self轴引用元素本身。其思想是使用所需的条件选择self,如果它满足的Mink将获得相同的元素(不是函数或表达式结果,或属性,或其他任何东西)

执行xpath查询可以返回节点、节点属性、函数结果等。在Mink中执行xpath必须返回
find()
findAll()
has()
类的
NodeElement方法中的节点元素

有些情况下,当我们有一个选定的节点元素,并且我们想要断言它有一个类或者该元素上的某个xpath表达式满足一个条件时


做这件事最合适、最优雅的方法是什么?

在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 ")]');