我正在使用DomCrawler组件:http://symfony.com/doc/current/components/dom_crawler.html
我想使用CSS语法获取一个具有特定属性值的元素。
这是我正在使用的代码:
$link = $crawler->filter('#product a[data-type="bla"]');
这似乎有效,因为以下内容返回1:
echo count($link);
然而,我无法不做进一步的过滤。我不能这样做:
$link->filter('img')->attr('src');
这将导致以下错误消息:
The current node list is empty.
但我可以确定它并不是这样。
我尝试将该语法用于其他元素,结果都一样。我是做错了什么还是这不可能实现(使用类似 CSS 的语法,而非 XPath)?
echo count($link->filter('img'));
的输出是什么?如果是0,我猜你的a标签下没有img元素作为子元素。这就是出现The current node list is empty.
的原因。 - Stefano Sala