如何使用Symfony 2 Dom爬虫按id进行过滤?

如何使用Symfony 2 Dom爬虫按id进行过滤?,symfony,phpunit,functional-testing,Symfony,Phpunit,Functional Testing,这很有效 $this->assertEquals(1, $crawler->filter('.elementClass')->count()); // filter by class 但是,这似乎不起作用 $this->assertEquals(1, $crawler->filter('#elementId')->count()); // filter by id 有什么想法吗?Symfony2 DOM Crawler筛选器在内部使用DOMXPath,所以

这很有效

$this->assertEquals(1, $crawler->filter('.elementClass')->count()); // filter by class
但是,这似乎不起作用

$this->assertEquals(1, $crawler->filter('#elementId')->count()); // filter by id

有什么想法吗?

Symfony2 DOM Crawler筛选器在内部使用DOMXPath,所以您可以在上找到问题的答案

过滤器的查询应该类似(注意下面的代码未经测试,我相信上面的链接将帮助您)


谢谢你的回答。我使用了filter()和filterXPath()方法。但是,它们不起作用。您尝试了$crawler->filter('//yourtagname[@id=“1”]')->count()之类的方法,但没有起作用?顺便说一下,我正在筛选HTML,而不是XML。$crawler->filter('//yourtagname[@id=“1”]')->count()显示错误“意外符号”$爬虫->过滤器XPath(“//您的标记名[@id=“1”]”)->count()不显示错误。但是,它找不到id为的元素。您是对的。甚至$this->assertEquals(1,$crawler->filter('#elementId')->count());作品在我的公司,我们使用短开放标签。我忘了启用那个。非常感谢你的帮助,icrew。注意,短打开标记是不好的:(.添加composer包,
“symfony/css选择器”
将增加对按css id搜索的支持。
//*[@id='elementId']