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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2012, 16:39   #1
rok_9
 
Регистрация: 10.11.2012
Сообщений: 7
Печаль Найти ссылку с определённым текстом и нажать на неё(WB).

Сегодня я пытался сделать поиск ссылки в WB по тексту(не полному а только части от ссылки).Например ссылка: "Войти в Яндекс". А я для поиска ввожу "Войти в". Так вот я написал функцию и она почемуто не работает:

PHP код:
function FindAndPressTextLink(WebBrowserTWebBrowserTextstringClick:boolean):boolean ;
var
  
HtmlDocumentIHtmlDocument2;
  
HtmlCollectionIHtmlElementCollection;
  
HtmlElementIHtmlElement;
  
IInteger;
//  h:string;
  
a:boolean;
begin
  Result
:=false;
  
a:=false;
  
HtmlDocument := WebBrowser.Document as IHtmlDocument2;
  
HtmlCollection := HtmlDocument.All;
  
HtmlCollection := HtmlCollection.Tags('A') as IHTMLElementCollection;

  for 
:= 0 to HtmlCollection.Length do begin
    HtmlElement 
:= HtmlCollection.Item(i0) as IHtmlElement;
    
// доработать не полную проверку ссылки, но и её часть тоже
//   if   HtmlElement.InnerText = Text  then
  
if Text=HtmlElement.InnerText then
  begin
     Result
:=true;
     if 
Click then
      HtmlElement
.click;

  
end else begin
    
if FindWordInString(Text,HtmlElement.InnerText)  then
    begin
     Result
:=true;
     if 
Click then
      HtmlElement
.click;
    
end;
  
end;
  
end;
end
А там для поиска текста в каждой ссылке использовал функцию поиска в стринге.

PHP код:
function FindWordInString(FindS,InS:string): Boolean;
var
 
i,j:integer;
 
s:string;
 
bool:boolean;
begin
Result
:=false;
  For 
i:=1 to (Length(InS)-Length(FindS)+1) do
  
begin
    
for j:=1 to Length(FindS) do
    
begin
      s
:= InS[i+j];
      if 
FindS then
        bool
:=true;
        break;
    
end;
    
s:='';
    if 
bool then
    begin
      Result
:=true;
      break;
    
end;


  
end;
end
Помогите, пожалуйста, исправить функцию.
Заранее благодарен.
rok_9 вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно нажать на Ajax ссылку через WebBrowser? Macwin C# (си шарп) 6 14.08.2012 11:29
Regular expression - найти последнюю точку и три символа после неё Enfiol C# (си шарп) 5 28.04.2012 08:58
Webbrowser нажать правильно на ссылку Зод Работа с сетью в Delphi 8 11.02.2012 10:00
Найти окно ошибки и нажать OK Shouldercannon Общие вопросы Delphi 8 01.05.2011 21:38
Открыть Iexplorer и нажать на ссылку UnD)eaD)Snake Работа с сетью в Delphi 19 20.12.2007 22:08