Имя: Пароль:
IT
Веб-мастеринг
Выполнить javascript из 1С
,
0 Kashton
 
05.07.12
16:53
Имеется сайт. Я его обхожу при помощи DOM и вытаскиваю какие мне нужно данные. НО иногда мне нужно выполнить javascript чтобы получить еще данные.

Например:
<a id="more-view-762922" class="event-more-view" eventstate="false" blockid="F_386771" treeid="762922" onclick="Markets.applyView(this);return false;" href="javascript://">
<span>15</span>
<div class="">
</a>

Где копать?
1 Stim
 
05.07.12
16:55
*подписался на тему*
2 Stim
 
05.07.12
16:55
как-то так:

Док = ЭлементыФормы.ПолеHTML.Документ;
Док.getElementByID("MyButton").onclick();
3 Stim
 
05.07.12
17:09
ап
4 Fragster
 
гуру
05.07.12
17:12
в (2) click() просто
5 Fragster
 
гуру
05.07.12
17:13
а вообще - проще тебе связаться с разработчиком и его API юзать, чем так грабить...
6 Fragster
 
гуру
05.07.12
17:13
а проще и быстрее
7 Лефмихалыч
 
05.07.12
17:15
8 Stim
 
05.07.12
17:20
а с 77 СоздатьОбъект() как телепортируется в 8?
9 Fragster
 
гуру
05.07.12
17:24
новый COMОбъект("");
10 Stim
 
05.07.12
17:26
круть. а как теперь этот код привязать к странице?
11 Jaap Vduul
 
05.07.12
17:37
12 Kashton
 
06.07.12
11:38
так все-таки с чего начать ?
13 Stim
 
06.07.12
14:58
если яваскрипт уже есть на странице, то проще всего через
Сообщить(Док.parentWindow.eval("getSelectedText()"));
14 Kashton
 
06.07.12
16:53
(13) У меня получается ява-функции в отдельном скрипт файле .js
15 Юрий Лазаренко
 
06.07.12
17:37
(14) Функции из этого файла в любом случае доступны в документе
16 Stim
 
06.07.12
17:38
17 Kashton
 
09.07.12
09:38
Извините, но я еще раз сформулирую более точно задание:
Я загнал страницу в поле ПолеHTMLДокумента1
ЭлементыФормы.ПолеHTMLДокумента1.Перейти("http://www.***.com/");

Теперь мне нужно выполнить onclick:

<a id="event-more-view-788428" class="event-more-view" eventstate="false" blockid="787255" treeid="788428" onclick="Markets.applyView(this);return false;" href="javascript://">
<span>+46</span>
<div class="">
<span class="arrow"></span>
</div>
</a>

Как это сделать?
18 Kashton
 
09.07.12
10:37
ап
19 Kashton
 
09.07.12
11:03
Ребята подскажите. вся работа стоит
20 Stim
 
09.07.12
11:05
(17) я пока только додумался до того, чтобы сохранить исходный код страницы в локальный файл и его открывать пользователю, а дальше - 2
21 Kashton
 
09.07.12
12:01
(20) Я делаю так:
Док = ЭлементыФормы.ПолеHTML.Документ;
Док.getElementByID("event-more-view-788428").onclick("Markets.applyView(this);return false;");

Пишет ошибку:
Значение не является значением объектного типа (onclick)
22 Kashton
 
09.07.12
12:47
ап
23 Kashton
 
09.07.12
14:03
никто не знает?
24 Stim
 
09.07.12
14:15
(21) так не прокатит полюбому
25 Kashton
 
09.07.12
15:40
(24) Ты мне можешь показать свой пример?
26 Stim
 
09.07.12
15:43
(25) у меня нет его пока, у меня только идеи
27 Kashton
 
09.07.12
15:47
(26) можно я к тебе в аську стукнусь?
28 Stim
 
09.07.12
15:52
ну стучись)
29 y88
 
09.07.12
15:53
попробуй
Док.getElementByID("event-more-view-788428").onclick="Markets.applyView(this);return false;";

еще погугль "function addEvent"
30 Kashton
 
09.07.12
16:03
(29)пишет:  Значение не является значением объектного типа (onclick). может я что-то где-то не прописал?
31 shpioleg
 
09.07.12
16:47
Может поможет чем. Как-то так пришлось изголиться чтобы под Веб -клиентом работало
function JSFrom1C()      
   {
       var ButtonJS = document.getElementById("buttonJS");
       eval(ButtonJS.name);
   }
<button id=""buttonJS"" style=""display: none;"" onclick = ""JSFrom1C()"" ></button>
Элементы.Карта.Document.getElementById("buttonJS").name = ИмяПроцедуры;                Элементы.Карта.Document.getElementById("buttonJS").click();
32 Kashton
 
10.07.12
13:40
Всем спасибо за помощь. Сам накосячил. помогло (11)