无法删除来自同级元素的属性

问题描述 投票:1回答:1

我正在尝试使用Symfony2,Goutte和DomCrawler抓取一些数据。我遇到一个棘手的情况,我需要在<td>中获取属性的值。

工作部分:

    $query = "//td[normalize-space(text()) = 'Event Title']/following-sibling::td[1]";
    $crawler->filterXPath($query)->each(function($crawler, $i) {
        echo $crawler->text();// . $i . PHP_EOL;
    });


<tr>
    <td>Event Title</td> 
    <td>the title is here</td> 
</tr>

好,现在是:

<tr>
    <td>Event Title</td> 
    <td><input value="thisiswhatIneed"></td> 
</tr>

并且我正在尝试更改选择器

$query = "//td[normalize-space(text()) = 'Presenter']/following-sibling::td[1]/input[value]"; 

任何想法如何继续遍历以便我可以访问<input>以获得其属性value =“”是什么?

php symfony web-scraping goutte domcrawler
1个回答
1
投票

由于valueinput的属性,因此您需要修改xpath查询:

$query = "//td[normalize-space(text()) = 'Presenter']/following-sibling::td[1]/input/@value"; 

请参见示例here

© www.soinside.com 2019 - 2024. All rights reserved.