如何使用Symfony 2 Dom Crawler按ID过滤?

Suk*_*rob 10 phpunit functional-testing symfony

这有效

$this->assertEquals(1, $crawler->filter('.elementClass')->count()); // filter by class
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用.

$this->assertEquals(1, $crawler->filter('#elementId')->count()); // filter by id
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Igo*_*gor 11

Symfony2 DOM Crawler过滤器内部使用DOMXPath,因此您可以在此主题上找到问题的答案

查询过滤器应该是这样的(请注意,下面的代码未经测试,我相信上面的链接会对你有帮助)

//*[@id='elementId']
Run Code Online (Sandbox Code Playgroud)

  • 你是对的.甚至$ this-> assertEquals(1,$ crawler-> filter('#elementId') - > count()); 作品.在我的公司,我们使用短开标签.我忘了启用它.非常感谢你的帮助,icrew.当心,短开标签很糟糕:(. (3认同)