Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Выгрузка кода соседней вкладки Chrome, работа с ней (https://javascript.ru/forum/css-html/72011-vygruzka-koda-sosednejj-vkladki-chrome-rabota-s-nejj.html)

Aetae 31.12.2017 19:31

Цитата:

Сообщение от kirsan94 (Сообщение 474087)
А можно как-то заставить его прожимать на основной странице ту самую кнопку "Обновить"?
Я так понял нужно уже разбираться с simulateClick, и как местный интерфейс заставить с ним работать?

Теоретически он и сейчас это делает, раз в 5 минут как и было заказано.
Поменяйте:
var buttonPressInterval = 5 * 60 * 1000;
на поменьше, для экспериментов.

Для это кстати не обязательно перезапускать всё, можно на открытой странице "monitoring" прям в консоли написать например "buttonPressInterval = 1000;"

На счёт "ручного нажатия" на кнопку - там же "simulateClick(window.opener)".

kirsan94 31.12.2017 19:40

Да, я вот тоже вспомнил про этот момент, и изменил на 5*2*1000)
simulateClick(window.opener) выдает true, но на основной странице изменений нет
Если вручную нажимать на основной эту кнопку, то в консоли выдает вот это:

Aetae 31.12.2017 20:09

В консоли на главной document.querySelector('button[aria-label="Обновить"]') и наведи на результат мышь. Подсветилась нужная кнопка?

kirsan94 31.12.2017 20:32

Выдало
<button type="button" id="ext-gen-top20" class=" x-btn-te on-refresh cwc-toolbar-refresh" aria-label="Обновить">Обновить</button>

но кнопка не высвечивается

зато высвечивается если во вкладке elements навести на
<tbody class="x-btn-small x-btn-icon-small-left"><tr><td class="x-btn-tl"><i>&nbsp;</i></td><td class="x-btn-tc"></td><td class="x-btn-tr"><i>&nbsp;</i></td></tr><tr><td class="x-btn-ml"><i>&nbsp;</i></td><td class="x-btn-mc "><em class="" unselectable="on"><button type="button" id="ext-gen-top435" class=" x-btn-text" aria-label="Обновить" style="background-image: url(&quot;images/toolbar/trefresh.png&quot;);">Обновить</button></em></td><td class="x-btn-mr"><i>&nbsp;</i></td></tr><tr><td class="x-btn-bl"><i>&nbsp;</i></td><td class="x-btn-bc"></td><td class="x-btn-br"><i>&nbsp;</i></td></tr></tbody>

Aetae 31.12.2017 20:45

Проверь в консоли
document.querySelectorAll('button.x-btn-text[aria-label="Обновить"][style*="images/toolbar/trefresh.png"]')
Если результат только один, то поменяй
25     var buttonSelector = 'button[aria-label="Обновить"]';
на
var buttonSelector = 'button.x-btn-text[aria-label="Обновить"][style*="images/toolbar/trefresh.png"]';

Если ничего не выдало, то поменяй ещё и
49     var button = window.document.querySelector(buttonSelector);
на
var button =  querySelectorAnyFrame(window, buttonSelector);



Гадание на кофейной гуще - сложная вещь.)

kirsan94 31.12.2017 20:50

Понял в чем суть, в консоли он выдает id = "ext-gen-top20"
а на самой странице он ext-gen-top539, причем с каждым нажатием на эту кнопку, и соответственно обновлением страницы, число увеличивается
спустя 4 обновления это уже 617

kirsan94 31.12.2017 21:06

он выдал надпись, но я с телефона через team wiever сижу, немного не удобно. через 10 минут скину скрин, оно выдало
NodeList [button#ext-gen-top669.x-btn-text]
0
:
button#ext-gen-top669.x-btn-text
length
:
1
__proto__
:
NodeList

при наведении на вторую строку button выделяется нужная кнопка
скрин через 5 минут

Aetae 31.12.2017 21:16

length:1
"Длина один" - по русски. С смело зафигачивай первый вариант.)

kirsan94 31.12.2017 21:19

Так, при вводе команды выводит вот это:

при наведении на него ничего не выделяется

Но, если на это нажать, оно раскроется:

и вот если тут навести на выделенный светло-синим элемент (выделил отдельно синими чертами), то выделяется искомая кнопка!

kirsan94 31.12.2017 21:27

Aetae, вы наш Дед-Мороз)
Все работает, обновление идет)
От лица всего коллектива мониторинга ЦОД огромное вам человеческое спасибо) Лучший подарок на этот НГ :D
Спасибо большое за терпение, и помощь в облегчении службы честному мониторингу) (теперь у нас больше времени писать отчеты? что реально радует :D)


Часовой пояс GMT +3, время: 09:12.