![]() |
![]() |
![]() |
|
v7: 1cv7 vs InternetExplorer.Application ₽ |
☑ | ||
---|---|---|---|---|
0
exellent
21.09.08
✎
21:40
|
Задача : из 1с открываем страничку, перебираем ссылки, на нужной эмулируем Click...не открыватца ... какой метод использовать ?
Процедура sleep(ms) стр="Ожидание "+ТекущееВремя(); Состояние(стр); сек=цел(ms/1000); ВвестиСтроку(стр, стр, 100, 0, сек); КонецПроцедуры Процедура Выполнить() True=-1; False=0; oIE = CreateObject("InternetExplorer.Application"); oIE.Visible=True; oIE.Navigate("www.mypage.ru"); While oIE.Busy()=True Do sleep(1000); EndDo; doc1=oIE.Document; obj1_=doc1.links; чДочернихЭлементов1=obj1_.length(); Для i1=0 по чДочернихЭлементов1-1 Цикл obj1=obj1_.item(i1); strText = СокрЛП(obj1.InnerHTML); //Сообщить("Название ссылки: "+strText); attr= obj1.attributes.getNamedItem("href"); strUrl = attr.NodeValue; //Сообщить("Адрес ссылки: "+strUrl); Если strText="моя ссылка" Тогда // далее нужна эмуляция клика по ссылке ?????????? КонецЕсли КонецЦикла КонецПроцедуры |
|||
1
Яндекс
21.09.08
✎
22:10
|
кликать то нафига... находи ссылку и открывай сызнова...
http://www.1c-club.kz/index.php?showtopic=765 |
|||
2
Яндекс
21.09.08
✎
22:13
|
Если strText="моя ссылка" Тогда
oIE.Navigate(strText); КонецЕсли |
|||
3
exellent
21.09.08
✎
22:37
|
Нет , нужна именно эмуляция клика : вид ссылки
<A onclick=javascript:reloadpage(10) href="http://www.xxxxxxxxxx11" target=_ptc><IMG alt=ХХХХ src="http://www.xxxxxxxxxxxxx222" border=0></A> Если использовать Navigate по URL http://www.xxxxxxxxxx11, то естественно событие javascript:reloadpage(10) не происходит. |
|||
4
Табуретка
22.09.08
✎
09:34
|
(0)если не секрет - генератор кликов ваяем?
|
|||
5
exellent
22.09.08
✎
11:16
|
Что-то вроде того...
по следуещему методу "FireEvent "onclick" не подскажите ??? |
|||
6
dk
22.09.08
✎
11:21
|
делаю подобную задачку, но там клиент банк и html разбор не рулит.
пока через эмуляцию клавы и мыши работает, но все привязано к разрешению экрана :( |
|||
7
exellent
22.09.08
✎
12:02
|
В том то и дело ,что ссылка может "плавать по экрану", каждый раз находясь в новом месте.Методы "FireEvent "onclick",click :несколько туманно расписаны для InternetExplorer.Application , никак не могу прикрутить !
|
|||
8
smaharbA
22.09.08
✎
12:09
|
Както так
|
|||
9
exellent
22.09.08
✎
14:01
|
Жаль что на ="javascript";
хотелось бы без него ... не знаю к чему прикрутить метод .click() линки все выдрали, Для i1=0 по чДочернихЭлементов1-1 Цикл obj1=obj1_.item(i1); для каждого линка имеем .obj1.InnerHTML название линка .attributes.getNamedItem("href"); strUrl = attr.NodeValue; сам url А к чему привинтить метод .click()???? obj1. не идёт ??? |
|||
10
smaharbA
22.09.08
✎
15:09
|
//*******************************************
Процедура Сформировать() УРЛ="http://forum.mista.ru"; Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl"); Скрипт.language="javascript"; ИЕ=СоздатьОбъект("InternetExplorer.Application"); ИЕ.Navigate(УРЛ); Пока ИЕ.ReadyState<4 Цикл ВвестиСтроку("Ждем..","Ждем..",10,,1); КонецЦикла; Документ=ИЕ.document; Ссылки=Документ.links; НашаСсылка="http://www.forum.mista.ru/index.php?forum=life"; Для к=0 По Ссылки.length-1 Цикл Если Ссылки.item(к).attributes.getNamedItem("href").NodeValue=НашаСсылка Тогда НашаСсылка=Ссылки.item(к); Скрипт.AddObject("НашаСсылка",НашаСсылка); Прервать; КонецЕсли; КонецЦикла; Если ТипЗначенияСтр(НашаСсылка)<>"Строка" Тогда Скрипт.Eval("НашаСсылка.click()"); КонецЕсли; Сообщить(Ссылки.length); ИЕ.visible=-1; КонецПроцедуры |
|||
11
exellent
23.09.08
✎
15:39
|
Спасибо огромное, скриптик работает !!!
|
|||
12
exellent
23.09.08
✎
15:43
|
Но всё же интересно, как совершить тоже самое через OLE,без использования MSScriptControl.ScriptControl ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |