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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2013, 11:17   #1
brat123rus
Новичок
Джуниор
 
Регистрация: 19.07.2013
Сообщений: 1
По умолчанию Webbrowser

Здравствуйте. У меня возникла такая проблема при написании программы.Суть программы та же зайти на сайт и покликать по спарсенным ссылкам. Первую ссылку кликает, а вот на второй пишет "Элемент не найден. Действие 2 отменено." Из-за этого программа не работает. Я думаю это из-за того что браузер не успевает загрузить страницу, что я не пробивал ни чего не помогает, помогите пожалуйста.Вот часть программы.
Код:
procedure TForm1.Button3Click(Sender: TObject);
   var
Doc, Arr, Elem : Variant;
  i, Cnt : Integer;
begin
//Ссылка на интерфейс документа.
  Doc := WebBrowser1.OleObject.document;
  if VarIsClear(Doc) then begin
    MessageBox(Handle, 'Объект документа не создан. Действие отменено.',
      'Внимание!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
    Exit;
  end;
 
  //Коллекция элементов <a> в пределах HTML документа.
  Arr := Doc.getElementsByTagName('a');
  //Перебор элементов коллекции и поиск первого элемента с именем класса 'usermnuline'.
  Cnt := 0;
  for i := 0 to Arr.length - 1 do begin
    Elem := Arr.item(i);
    if Elem.title = 'Click Here To Earn Cash & Points!' then begin
      Inc(Cnt);
      Break;
    end;
end;
if Cnt = 0 then begin
    MessageBox(Handle, 'Элемент не найден. Действие 1 отменено.',
      'Внимание!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
    Exit;
  end;
 
  //Выполняем метод click().
  Elem.click;
 
 while WebBrowser1.Busy do Application.ProcessMessages; //Вот здесь не идет загрузка
 
//Ссылка на интерфейс документа.
  Doc := WebBrowser1.OleObject.document;
  if VarIsClear(Doc) then begin
    MessageBox(Handle, 'Объект документа не создан. Действие отменено.',
      'Внимание!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
    Exit;
  end;
 
//Коллекция элементов <a> в пределах HTML документа.
  Arr := Doc.getElementsByTagName('a');
  //Перебор элементов коллекции и поиск первого элемента с именем класса 'usermnuline'.
  Cnt := 0;
  for i := 0 to Arr.length - 1 do begin
    Elem := Arr.item(i);
    if Elem.InnerText = 'Paid to Click Ads' then begin
      Inc(Cnt);
      Break;
    end;
 end;
if Cnt = 0 then begin
    MessageBox(Handle, 'Элемент не найден. Действие 2 отменено.',
      'Внимание!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
    Exit;
  end;
  
 
  //Выполняем метод click().
  Elem.click;
  
  //Ссылка на интерфейс документа.
  Doc := WebBrowser1.OleObject.document;
  if VarIsClear(Doc) then begin
    MessageBox(Handle, 'Объект документа не создан. Действие отменено.',
      'Внимание!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
    Exit;
  end;
 
//Коллекция элементов <a> в пределах HTML документа.
  Arr := Doc.getElementsByTagName('a');
  //Перебор элементов коллекции и поиск первого элемента с именем класса 'usermnuline'.
  Cnt := 0;
  for i := 0 to Arr.length - 1 do begin
    Elem := Arr.item(i);
    if Elem.target = '_blank' then begin
      Inc(Cnt);
      Break;
    end;
end;
if Cnt = 0 then begin
    MessageBox(Handle, 'Элемент не найден. Действие 3 отменено.',
      'Внимание!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
    Exit;
  end;
 
  //Выполняем метод click().
  Elem.click
 
end;
 
 
end.
From Stilet: Исправил.

Последний раз редактировалось Stilet; 09.08.2013 в 12:08.
brat123rus вне форума Ответить с цитированием
Старый 09.08.2013, 11:38   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Пожалуйста включите свой код в теги (#)
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
webbrowser ITanyshka Помощь студентам 2 05.12.2012 02:48
webbrowser Barabashka Общие вопросы Delphi 3 21.10.2010 10:49
WebBrowser rabbitsnew Общие вопросы Delphi 1 23.09.2010 18:05
WebBrowser kuzmich Компоненты Delphi 0 16.12.2007 11:30
WebBrowser Druid-druid Работа с сетью в Delphi 1 12.12.2007 13:23