无法从同级元素中抓取 <Input> 的属性
Can't Scrape Attribute of <Input> from Sibling Element
我正在尝试使用 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="" 是什么吗?
由于 value
是 input
的属性,您需要稍微更改 xpath 查询:
$query = "//td[normalize-space(text()) = 'Presenter']/following-sibling::td[1]/input/@value";
参见示例 here。
我正在尝试使用 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="" 是什么吗?
由于 value
是 input
的属性,您需要稍微更改 xpath 查询:
$query = "//td[normalize-space(text()) = 'Presenter']/following-sibling::td[1]/input/@value";
参见示例 here。