document.evaluate iframe с локального адреса
Я хотел бы получить данные из ячейки таблицы. Эта таблица загружается в iframe. Я узнал, что я могу использовать xpath и document.evaluate()
сделать это
Это мой сценарий:
<iframe id="ext" src="http://192.168.1.10/values" width="400px" height="400px" ></iframe>
<script>
var myIframe = document.getElementById('ext');
myIframe.onload = function () {
var result = document.evaluate("/iframe/html/body/div[2]/table/tbody/tr[3]/td[3]", myIframe, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
console.log(result);
console.log("done");
}
</script>
Результат, напечатанный в консоли: null
(Я проверил xpath на локальном адресе, он возвращает правильное значение).
Если я наберу myIframe
в консоли это то, что он возвращает:
<iframe id="ext" src="http://192.168.1.10/values" width="400px" height="400px" ></iframe>
#document
<! doctype html>
<html>
<head></head>
<body></ body>
</html >
</iframe>
Я могу расширять тело до тех пор, пока я не получу клетку.
Я пытался заменить document.getElementById('ext');
от document.getElementById('ext').contentDocument;
и вот что я получаю при печати myIframe:
#document
<html>
<head></head>
<body></ body>
</html>
И я не могу развернуть тег body, но таблица на странице загружается успешно.
Что я делаю не так? Почему я получаю null
вместо значения ячейки?