xpath позволяет осуществлять поиск документов, таких как XML или HTML-файл.
xpath не будет показывать классы в пути, но отобразит идентификаторы с символом @
.
xpath можно получить несколькими способами. Один из способов в Chrome - просмотреть источник элемента, щелкнуть его правой кнопкой мыши и нажать Copy XPath
.
Когда я делаю это на коробке TEXTAREA я отвечаю на этот вопрос, я получаю следующее :: XPath
//*[@id="wmd-input"]
Не позволяйте, что сбить вас с толку, хотя. Вот более упрощенный пример
/html/body
Это xpath элемента кузова.
Я написал небольшую функцию, которая поможет вам превратить xpaths в элементы.
function xpath(path){
for (var found, x = document.evaluate(path, document, null, XPathResult.ANY_TYPE, null), result = []; found = x.iterateNext();) {
result.push(found);
}
return result;
}
Эта функция производит следующее при его запуске против этого текстового поля ::
xpath('//*[@id="wmd-input"]');
[<textarea id="wmd-input" class="wmd-input processed" name="post-text" cols="92" rows="15" tabindex="101" data-min-length></textarea>]
Теперь, когда у вас есть элемент, который вы можете изменить его, как в этом примере:
var test = xpath('/html/body');
test[0].innerHTML='bye';
Могли бы вы, пожалуйста, укажите ссылку, где я могу больше узнать об использовании сложных запросов xPath? Спасибо :) –
@SanJeetSingh не может вспомнить ничего конкретного, просто google ищет учебники XPath и практикуйте и практикуйте больше! Рад помочь. – alecxe