Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2011, 23:24   #1
Manson_0
 
Регистрация: 11.11.2011
Сообщений: 7
По умолчанию Нажатие кнопки в определенном фрэйме EmbeddedWB

Добрый день!
Нужна помощь. Написал программу для входа на сайт, заполняет нужные поля, с помощью JS нажимает кнопку вход.
Код:
   with WB1 do
   begin
     FillForm('name', 'name');
     FillForm('password', '12345');
     WB1.RunJS('javascript:document.getElementById(''auth_form'').submit();');
   end;
Далее, после захода на сайт, есть 7 фрэймов, и в каждом есть свои кнопки. Нужно нажать на определенную кнопку в фрэйме:
Код:
<iframe id="main_top" frameborder="0" scrolling="auto" style="width: 100%; height: 285px;" name="main_top" src="main.php">
Для примера, кнопка в данном фрэйме:
Код:
<input class="lbut" type="button" value="1551" onclick="ButClick('wert')">
, после её нажатия в этом же фрэйме должно появиться всплывющие окно, так же с кнопками.
Самый удачный вариант:
Код:
 var name_frame: OleVariant;
....
name_frame := 'main_top';
WB1.Navigate('http://site.ru/ajax/wertt_ajax.php?act=1&vcode=1', Flags, TargetFrameName, PostData, Headers);
Загрузка происходит в нужном фрэйме, но грузиться не как всплывающие окно, а как текстовая web-страница, без каких либо кнопок, только текст, который должен быть в всплывающем окне...
Ну вот на этом я и застрял, подскажите, пожалуйста, как правильно сделать нажатие кнопки.
Manson_0 вне форума Ответить с цитированием
Старый 05.12.2011, 14:42   #2
Manson_0
 
Регистрация: 11.11.2011
Сообщений: 7
По умолчанию

Код:
<input type="button" class="lbut" onclick="ButClick(''wert'')" value="1551"/>
Код:
var  ovElements: OleVariant;  i: Integer;
....
ovElements := WB1.OleObject.Document.Forms.Item(0).Elements;
    for i := 0 to (ovElements.Length-1 ) do
      begin
        if (ovElements.Item(i).tagName  = 'input')  and
           (ovElements.Item(i).class  = 'lbut')  and
           (ovElements.Item(i).type  = 'button')  and
           (ovElements.item(i).Value = '1551')
        then ovElements.Item(i).Click;
      end;
Вот так, вроде как должно работать, т.е. нажимать на кнопку, но не работает, выдает ошибку

Код:
First chance exception at $7C812AFB. Exception class EAccessViolation with message 'Access violation at address 004CA669 in module 'Project1.exe'. Read of address 00000000'. Process Project1.exe (2580)
Что в коде не так то?
Manson_0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
While (нажатие кнопки) azhell Общие вопросы Delphi 1 09.08.2011 23:23
нажатие кнопки beygul Помощь студентам 2 30.01.2010 21:34
На нажатие кнопки access6472043 Microsoft Office Access 2 29.11.2009 15:08
Макрос для кнопки появление и удаление надписи в определенном месте с условием Apostolx Microsoft Office Excel 5 05.11.2009 15:02
нажатие кнопки xakkkkker Работа с сетью в Delphi 1 20.11.2008 01:08