Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.03.2012, 23:40
trdfnbcc trdfnbcc вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 11
Репутация: 10
По умолчанию WebBrowser1

Плиз! помагите разобратся с кликом по кнопке не могу понять почему не получается делаю так.

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
  I: Integer;
  ovElements: OleVariant;
begin
  ovElements := EmbeddedWB1.OleObject.Document.forms.Item.elements;
  for I := 0 to ovElements.Length - 1 do
begin
  if ovElements.item(i).style='margin-top: 8px;' then
  ovElements.item(i).click
end;
end;

end.

но вместо клика получаю ошибку вот эту Invalid variant operation

Код HTML:
<center><span class='button-blue' onclick="login(document);" style="margin-top: 8px;">ВОЙТИ</span></center>
Ответить с цитированием
  #2  
Старый 12.03.2012, 00:01
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Исправь на:
Код:
ovElements := EmbeddedWB1.OleObject.Document.forms.Item(0).elements;
Должно помочь.
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #3  
Старый 12.03.2012, 00:04
trdfnbcc trdfnbcc вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от Karsh
Исправь на:
Код:
ovElements := EmbeddedWB1.OleObject.Document.forms.Item(0).elements;
Должно помочь.

Не помагло также вылетает ошибка Invalid variant operation
Ответить с цитированием
  #4  
Старый 12.03.2012, 00:50
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Тогда сделайте ещё так:
Код:
if String(ovElements.item(i).style) = 'margin-top: 8px;' then
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #5  
Старый 12.03.2012, 01:05
trdfnbcc trdfnbcc вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от Karsh
Тогда сделайте ещё так:
Код:
if String(ovElements.item(i).style) = 'margin-top: 8px;' then

страно но так вопще кнопка не на какае действия не реагирует почему так непонятно.
Ответить с цитированием
  #6  
Старый 12.03.2012, 01:20
trdfnbcc trdfnbcc вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 11
Репутация: 10
По умолчанию

Что не ужели невозможно так кликнуть на неё?
Ответить с цитированием
  #7  
Старый 12.03.2012, 10:05
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

вот пример:
-загружает http://ya.ru/
-вставляет в строку поиска текст из TEdit (по кнопке Open url & set string)
-жмет кнопку "Найти" (по кнопке Start search)
Вложения
Тип файла: rar click.rar (1.9 Кбайт, 3 просмотров)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 12.03.2012, 12:45
trdfnbcc trdfnbcc вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
вот пример:
-загружает http://ya.ru/
-вставляет в строку поиска текст из TEdit (по кнопке Open url & set string)
-жмет кнопку "Найти" (по кнопке Start search)

Слушай тоже самое вылетает ошибка Invalid variant operation

Зделал я вотак

Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
 WebBrowser.Navigate('http://www.vip-prom.net/');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Document2: IHTMLDocument2;
  ElementCollection: IHTMLElementCollection;
  i: Integer;
begin
  Document2:=WebBrowser.Document as IHTMLDocument2;
  ElementCollection:=Document2.all as IHTMLElementCollection;
  for i:=0 to ElementCollection.length-1 do
    if (ElementCollection.item(i, Null) as IHTMLElement).onclick='login(document);' then
      (ElementCollection.item(i, Null) as IHTMLElement).click;
end;


Вотетот сайт http://www.vip-prom.net/ только не на первой странице а там где водишь логин и пароль!
Ответить с цитированием
  #9  
Старый 12.03.2012, 13:11
trdfnbcc trdfnbcc вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 11
Репутация: 10
По умолчанию

Ну какже её нажать!
Ответить с цитированием
  #10  
Старый 12.03.2012, 14:26
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

выложи минимальный проект воспроизводящий ошибку (архивом)...
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #11  
Старый 12.03.2012, 14:55
trdfnbcc trdfnbcc вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 11
Репутация: 10
По умолчанию

Всё всем спасибо кто пытался помочь но уже разобрался с этим просто было нужно использовать этот модуль http://jqbook.narod.ru/delphi_JavaScript.html
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter