Нужно найти на странице элемент по XPath и кликнуть по нему.
Нашел такую функцию:
function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
Но результатом выполнения этой функции будет тип Node
, у которого нет метода click
.
Можно ли как-то привести тип Node
к типу HtmlElement
, чтобы можно было взаимодействовать с элементом?
Вот небольшой пример кода, который добавляет к первому найденному элементу onclick
:
var headings = document.evaluate("/html/body//h2", document, null, XPathResult.ANY_TYPE, null);
/* Найти в документе все элементы h2
* В качестве результата будет получен узловой итератор. */
var thisHeading = headings.iterateNext();
thisHeading.onclick = function() {
alert('YES');
}
var alertText = "В данном документе заголовками 2-го уровня являются:\n";
while (thisHeading) {
alertText += thisHeading.textContent + "\n";
thisHeading = headings.iterateNext();
}
console.log(alertText);
Hi!
<h2>Element #1</h2>
<div>Just an div element</div>
<h2>Element #2</h2>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Отменил действие по умолчанию на комбанацию ctrl + z и нужно что-бы по этой комбинации делался перевод строки в поле для вводаЯ это делаю добавлением...