4 ms·
Would be nice if readme would show some actual example; now it just trails off: let element = robulaPlus.getElementByXPath('/html/body/div/span/a', do
by kabacha 6y ago
Would be nice if readme would show some actual example; now it just trails off:
let element = robulaPlus.getElementByXPath('/html/body/div/span/a',
document);
robulaPlus.getRobustXPath(element, document);
# what's the result?
- kamocyc 6y agoIt depends on the content of the HTML document but I agree with you. I tried running the algorithm in Chrome. It output much shorter XPath than one copied from Chrome Developer tool. e.g. "//*[@id="rso"]/div[4]/div/div[1]/a/h3" => "//*[contains(text(),'(text of the element)')]"
- kabacha 6y agoYour example seems pretty awful though. You'd rarely want to select element based on it's text
- kamocyc 6y agoI think the author claims the XPath is more "robust" because it doesn't depend on indexes of the elements so you can add elements without breaking the XPath. (But it is arguable which one is better ...)