Не удается извлечь атрибут ‹Input› из родственного элемента

Я пытаюсь очистить некоторые данные, используя 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>, чтобы получить значение его атрибута = ""?


person Kenny    schedule 15.04.2015    source источник
comment
Выстрел в темноте. Существует ли селектор типа next::input[value]?   -  person Twisty    schedule 16.04.2015
comment
Кажется, не работает, когда я нажимаю его. Спасибо за помощь.   -  person Kenny    schedule 16.04.2015


Ответы (1)


Поскольку value является атрибутом input, вам нужно немного изменить свой запрос xpath:

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

См. пример здесь.

person Igor Savinkin    schedule 16.04.2015
comment
Круто, это сработало чудесно! Просто добавил /input/@value в конец, и он правильно нашел то, что искал. Спасибо еще раз! - person Kenny; 16.04.2015
comment
@ Кенни, рад, что смог тебе помочь. - person Igor Savinkin; 17.04.2015