Можно ли залочить изменение DOM ?

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
Приветствую.

Такое дело в общем.

Представьте div в котором есть много кнопок (button). Кнопки постоянно (с помощью ajax/js) двигаются вверх-вниз, удаляются старые, добавляются новые, перескакиваю в общем.

Я в кубике c# нахожу нужную кнопку, кликаю по ней и в другой части браузера загружается то что мне нужно. Но иногда бывает так, что нужная кнопка нашлась, но при клике по ней подгружается не то что должно подгружаться, а то что должно подгружаться при клике на другую кнопку (закономерности нет, может попасть на любую другую).

При этом в кубике находится 100% нужная мне кнопка т.к перед кликом паршу из ее innerHtml текст, который вывожу в лог. Но при клике по ней подгружается не то что нужно.

Подразумеваю что за время между нахождением кнопки и кликом по ней уже что-то менянется в DOM и переменная с нужным мне элементом указывает уже на другой элемент (другую кнопку).

Я вот и подумал, а нет ли какой-нибудь конструкции позволяющей залочить изменение dom ? что бы клик 100% прошел по тому элементу что был найден.

Весь мой код:

Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();

HtmlElement c = tab.FindElementByAttribute("button","class","new","text",0);
if (c.IsVoid || c.IsNull) return 0;
// тут небольшой парсинг регуляркой innerHtml
c.RiseEvent("click","Full");
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
дак мне в потоке появляющихся и исчезающих кнопок (а они появляются с использованием js/ajax) надо выловить ту самую заветную ;-) поэтому отключить js до нажатия я не могу, иначе просто кнопку не найду ;-) то есть мне и что бы найти кнопку и что бы кликнуть по ней нужен js =)
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
дак мне в потоке появляющихся и исчезающих кнопок (а они появляются с использованием js/ajax) надо выловить ту самую заветную ;-) поэтому отключить js до нажатия я не могу, иначе просто кнопку не найду ;-) то есть мне и что бы найти кнопку и что бы кликнуть по ней нужен js =)
меняй innerHtml перед кликом :-)
 

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
меняй innerHtml перед кликом :-)
а что мне это даст? вот поменял я допустим в innerhtml строку "nickname" на строку "mystring".
дальше так же кликаю и иногда попадаю не туда ;-)))

у меня сейчас сделано с помощью костылся .. с иннерхтмл беру никнэйм и беру его же в окне с результатом ... если не совпадают, то перезагружаю окно ... работает, но костыль это ;-)) хочется нормального решения ;-)
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
гет/пост совсем сложный?
ага,во-первых сложный и запутанный, во-вторых шаб изначально рассчитан на работу с браузером

ну видимо пока костылем буду довольствоваться ;-)))
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)