Помогите разобраться с методом FindChildById

Shogo

Client
Регистрация
07.04.2015
Сообщения
478
Благодарностей
100
Баллы
43
Добрый день, столкнулся с проблемой на подобии описанной в теме: http://zennolab.com/discussion/threads/poisk-vlozhennogo-html-ehlementa.9199/

Ситуацию считай аналогичная, сначала было обрадовался, скопировал решение, переписал под свои нужды, но спустя 2 часа разных переборов так и не добился работы.

Вот какой кусок кода на входе:
Код:
<div id="hook_SwitchLayout_9317363355">
<div id="data_9317363356" class="hookData"><!--{"link":"/dk?cmd=PopLayer\u0026amp;st.cmd=searchResult\u0026amp;st.country=10414533690\u0026amp;st.gender=m\u0026amp;st.posted=set\u0026amp;st.mode=Users\u0026amp;st.onSite=on\u0026amp;st.fromAge=17\u0026amp;st.tillAge=25\u0026amp;st.grmode=Groups\u0026amp;st.location=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0\u0026amp;st.layer.cmd=PopLayerAddFriend\u0026amp;st.layer.isConfirmation=off\u0026amp;st.layer.friendId=538178974725\u0026amp;st._aid=LS_FriendAddFriend"}--></div>
<span class="button-pro __def">Дружить</span>
<span class="icbtn_info">
<div class="icbtn_iconCont">
<div class="icbtn_icon icbtn_info_ok"></div></div>
Надо нажать по кнопке Дружить, но таких кнопок много. Определить её можно только по родителю: <div id="hook_SwitchLayout_9317363355"> . И вот по аналогии найденного примера получилось вот что:

Код:
var tab = instance.ActiveTab;
var he = tab.FindElementByAttribute("div","id",project.Variables["scr"].Value,"text",0);
he.FindChildById ("1");
he.SetAttribute("did","asd123asd123"); // это для контоля результата
he.RiseEvent("click","Full");
Это само собой один из перепробованных вариантов, проверил все - не находит хоть убейся.

Благодаря вставке: SetAttribute выяснил, что код оперирует именно с родителем, не переключаясь на ребятёнка )) то есть на выходе получаем: <div id="hook_SwitchLayout_9317363355" did="asd123asd123"> .

Подскажите пожалуйста, что я не так делаю )
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
Код:
var tab = instance.ActiveTab;
var he = tab.FindElementByAttribute("div","id",project.Variables["scr"].Value,"text",0);
var he1 = he.FindChildByTag ("span", 0);
he1.RiseEvent("click","Full");
 

Shogo

Client
Регистрация
07.04.2015
Сообщения
478
Благодарностей
100
Баллы
43
Код:
var tab = instance.ActiveTab;
var he = tab.FindElementByAttribute("div","id",project.Variables["scr"].Value,"text",0);
var he1 = he.FindChildByTag ("span", 0);
he1.RiseEvent("click","Full");
пробовал через присвоение, разницы не заметил. Должна быть?
 

Shogo

Client
Регистрация
07.04.2015
Сообщения
478
Благодарностей
100
Баллы
43
Блин по вашему варианту заработало )) спасибо огромное! но только в чём отличие не могу понять, по тегу пробовал несколько раз, как и добавлял переменную ))
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63

Shogo

Client
Регистрация
07.04.2015
Сообщения
478
Благодарностей
100
Баллы
43

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