2010-02-22 7 views

risposta

2

Hai provato

//a 

?

Più specifico è meglio:

//a[@class='bf' and starts-with(@href, '/book/')] 

noti che questo seleziona l'elemento<a>. Nell'ambiente host è facile estrarre il valore del testo di quel nodo tramite metodi DOM standard (come la proprietà .textContent).

Per selezionare il nodo di testo effettivo, vedere le altre risposte in questa discussione.

+0

la tua risposta mi ha aiutato di più, ma senza avviamenti con parametro! – alex

+0

@alex: Volevo solo essere un esempio di "più specifico è meglio". ;) – Tomalak

11

Se il contesto è l'intero documento, è consigliabile utilizzare // anziché /. Inoltre potresti (non sono sicuro di ciò) aver bisogno di scendere di un altro livello per recuperare il testo.

penso che dovrebbe assomigliare a questa

//a/text() 

EDIT: Come Tomalak ha sottolineato che non è text()text

+1

non c'è alcun elemento '' in '' . Intendi '// a/text()'. – Tomalak

3

Dipende anche dal resto del documento. Se si utilizza // all'inizio, verranno restituiti tutti i nodi corrispondenti, che potrebbero essere troppi risultati nel caso in cui si abbiano altri collegamenti nel documento.

parte che un'eventuale espressione xpath è //a/text().

Il /a si è provato a restituire solo lo a -tag stesso, se si tratta dell'elemento radice. Per ottenere il testo del collegamento è necessario aggiungere la parte /text().

Problemi correlati