1 / 1 / 0
Регистрация: 05.01.2014
Сообщений: 35
|
|||||||||||
1 | |||||||||||
Нужен совет новичку. Поиск элемента в DOM17.10.2016, 13:15. Показов 3106. Ответов 6
Метки нет (Все метки)
Необходим скрипт, который позволит найти на странице кнопку/ссылку и нажать ее.
Попробовал варианты:
Но если сначала выбрать нужный элемент через указатель из консоли разработчика (хром) или вручную в той же консоли раскрыть все теги вплоть до необходимого - все работает как нужно. P.S. Необходимые элементы находятся довольно глубоко в странице. Но страница константная, поэтому подходит вариант спарсить все теги "a" и выбрать необходимый, elems[1].click() Спасибо. Добавлено через 3 часа 42 минуты Up.
0
|
17.10.2016, 13:15 | |
Ответы с готовыми решениями:
6
Нужен совет новичку нужен совет новичку Нужен совет новичку Нужен совет новичку |
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
17.10.2016, 16:16 | 2 |
нормально они работают
браузер прочитывает код файла построчно и последовательно чтобы что-то найти в DOM'e, надо сначала этот самый DOM иметь браузер ещё не увидел ни одной ссылки <a href="где-то">что-то</a>, а вы уже требуете от него вернуть коллекцию всех ссылок в документе document.getElementsByTagName('a') и кликнуть по ссылке с индексом [1] Браузер вам честно отвечает -- "я пока вообще ни одной ссылки в документе ещё не встретил", коллекция ссылок поэтому пустая и кликнуть по конкретному элементу пустоты я не могу" вам надо дождаться, когда окно полностью загрузится и только потом требовать от браузера что-то искать в документе, загруженном в окно изучите событие window.onload учебный пример
1
|
1 / 1 / 0
Регистрация: 05.01.2014
Сообщений: 35
|
|
17.10.2016, 16:45 [ТС] | 3 |
Спасибо, но я написал - "Если запустить сразу после загрузки страницы". То есть страница уже загружена полностью, но скрипт не работает до тех пор пока указателем из консоли не указать на нужный элемент, после чего скрипт успешно запускается n раз, до перезагрузки (обновления) страницы.
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
||||||
18.10.2016, 02:43 | 4 | |||||
illustrated man, какие-то сказки рассказываете
сделайте страницу с одной единственной ссылкой <a href="http://yandex.ru">link</a> пропишите на ней в начале её скриптовой блок <script></script> с кодом
а) без каких-либо ошибок исполнения и б) вне зависимости от того -- в каком именно месте вашей страницы эта ссылка находится и что именно ещё на странице у вас имеется все эти ваши "консольные извращения" - не более чем мазохизм
1
|
the hardway first
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
|
|
18.10.2016, 10:22 | 5 |
illustrated man, юзерсприпт, расширение для браузера делаете? Может пункты меню загружаются асинхронно? Да может быть что угодно (╯°□°)╯︵ ┻━┻
Дайте ссылку, где вы там кликаете.
1
|
1 / 1 / 0
Регистрация: 05.01.2014
Сообщений: 35
|
||||||
18.10.2016, 13:44 [ТС] | 6 | |||||
j2FunOnly, kalabuni, Да, я вроде нашел причину проблемы, нужная мне часть сайта лежит в
Добавлено через 11 минут Я так понял данные внутри #document скрыты от моих скриптов даже после полной загрузки страницы
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
18.10.2016, 17:51 | 7 |
Сообщение было отмечено illustrated man как решение
Решение
вы даже предствить себе не можете, насколько мне надоело давать здесь одну и ту же ссылку на правило ограничения домена -- не разрешён клиентский программный доступ к чужой странице
да, через консоль браузера вы можете ручками полазить по чужой странице, но программно -- никак в свою собственную страницу вы можете внедрить скрипт, который может программно делать с этой вашей страницей всё, что угодно -- кликать по любым кнопкам/ссылкам, вставлять, удалять или изменять любые фрагменты текста/кода а вот хоть что-либо делать с чужой страницей нельзя (от слова совсем) что ж вас всех так тянет попортить чужое? делайте своё и изгаляйтесь над своим, как хотите по опыту знаю, что сейчас сюда набежит куча советчиков и они будут рассказывать про greasemonkey и про node.js, с помощью которых можно влезть на чужую страницу да , это тоже javascript, но внедрённый не в страницу, а в другие среды (первый внедряется в браузер конкретного (вашего) компьютера, второй - вообще на сервер)
1
|
18.10.2016, 17:51 | |
18.10.2016, 17:51 | |
Помогаю со студенческими работами здесь
7
Нужен совет новичку Нужен совет новИчку по оптимизации. Нужен совет новичку в программировании Новичку нужен совет опытных в yii Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |