如何使用Symfony DOMcrawler检查元素上是否存在类



我有一个$foo,它是Crawler的实例,而$foo->outerHtml()<div class="brick brick--type--test brick--id--1开头。我正在写一个测试,我想断言brick--id--1确实作为一个类存在。我怎么能这么做?($foo->outerHtml()上的preg_match()调用Cthulhu,我宁愿不调用(

根据节点评估XPATH表达式,以检查它们是否包含CSS类。

<?php
require('vendor/autoload.php');
use SymfonyComponentDomCrawlerCrawler;
$html = <<<'HTML'
<!DOCTYPE html>
<html>
<body>
<div class="brick brick--type--test brick--id--1">Hello</div>
</body>
</html>
HTML;
$crawler = new Crawler($html);
$foo = $crawler->filter('body > div');
$class = 'brick--id--1';
$expr = "contains(concat(' ',normalize-space(@class),' '),' $class ')";
$result = $foo->evaluate($expr);
var_dump($result);
// array(1) {
//   [0]=>
//   bool(true)
// }
var_dump(array_sum($result) !== 0);
// bool(true)
$crawler->matches('.brick--id--1');

相关内容

  • 没有找到相关文章

最新更新