#javascript
#javascript
Вопрос:
моя цель — создать javascript, который я буду запускать с помощью своего браузера (на чужом сайте, а не на моем), который будет принимать число с этого сайта и ждать некоторое время в зависимости от числа на сайте, прежде чем нажать кнопку.
число довольно сложно найти: на этом сайте есть таблица, в этой таблице есть ячейка таблицы, я получил идентификатор из ячейки (пока назовем ее «tCell») внутри этой ячейки есть другая таблица, у которой нет идентификатора, в этой таблице естьэто строка (опять же без идентификатора), в этой строке есть две ячейки, и число является единственным содержимым этой ячейки.
теперь, как мне перейти от той ячейки, для которой у меня есть идентификатор, к нужному контенту? (как найти содержимое ячейки, а затем перейти к правой строке таблицы среди этого содержимого)
я думаю, мне придется использовать что-то вроде этого:
var something = document.getElementById('tCell');
и что потом…
Комментарии:
1. Итак, не могли бы вы показать HTML-источник / ссылку на этот сайт?
2. Если у вас есть jQuery, это довольно просто. Если у вас есть, я могу подсказать код.
3. Кратчайший способ получить содержимое первой ячейки первой строки таблицы в something:
something.getElementsByTagName("table")[0].rows[0].cells[0].textContent
. Поскольку этот элемент также является первой ячейкой внутри чего-либо, этого достаточно :something.getElementsByTagName("td")[0].textContent
. Если вам нужно поддерживать IE, добавьте тест условий, чтобы проверить, нужно ли вам использоватьinnerText
или нет.
Ответ №1:
var something = document.getElementById('tCell');
var table = something.firstChild;
var tbody = table.firstChild;
var row = tbody.firstChild;
var firstTd = row.firstChild;
var secondTd = firstTd.nextSibling;
var textNode = secondTd.firstChild;
var textNodeValue = textNode.nodeValue;
Ответ №2:
document.getElementById('tCell').getElementsByTagName("table")[0].getElementsByTagName("tr")[0].getElementsByTagName("td")[1].innerHTML
Предоставит вам номер в строковом формате.
Комментарии:
1.
innerHTML
отображает не только текст, но и любой HTML-код, если он существует.2. Другого содержимого этого поля нет — так сказано в вопросе.