Come creare XPATH per un elemento DOM HTML? ad esempio, "/ HTML/BODY/DIV [1]/TABLE [1]/TR [2]/TD [1]/INPUT".come creare XPATH per un elemento DOM HTML?
Dato un elemento DOM come ottenere questa stringa XPATH? Qualche idea?
Grazie,
Dattebayo.
Come creare XPATH per un elemento DOM HTML? ad esempio, "/ HTML/BODY/DIV [1]/TABLE [1]/TR [2]/TD [1]/INPUT".come creare XPATH per un elemento DOM HTML?
Dato un elemento DOM come ottenere questa stringa XPATH? Qualche idea?
Grazie,
Dattebayo.
Come ricordo, l'estensione xpath checker per firefox fornisce un'interfaccia point-and-click per ottenere il percorso x agli elementi DOM in un documento HTML.
Dopo molte lotte ho trovato un modo per farlo.
Insieme al percorso DOM utilizzare anche il SourceIndex di ciascun nodo. Come "/ Html: 1/Body: 2/Div: 5/Input: 6"
Ma ancora, 1. Ciò potrebbe non funzionare in caso di pagina dinamica (ajax per modificare il contenuto). 2. Questo potrebbe non essere univoco sui browser poiché il sourceIndex potrebbe variare tra i vari browser in base al motore di rendering del browser. (Non sono sicuro di questo, però, solo un pensiero).
In Mozilla è stato implementato un componente xpath generator anche se non è mai stato configurato per default.
È possibile trovare i test nella "patch finale" allegata al bug a cui mi sono collegato per vedere come può essere utilizzata. Puoi anche cercare la sua implementazione, potrebbe essere utile.
È possibile creare un nuovo DOMDocument e quindi importare l'elemento nodo
$DD= new DOMDocument('1.0', 'utf-8');
$DD->loadXML("<html></html>");
$DD->documentElement->appendChild($DD->importNode($DE,true));
quindi è possibile utilizzare XPath insithe il DOMElement:
$xpathe=new DOMXPath($DD);
Qui è un'estensione per Chrome che potrebbe aiutare (ChromyQlip)
https://chrome.google.com/extensions/detail/bkmllkjbfbeephbldeflbnpclgfbjfmn