Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/26: Рейтинг темы: голосов - 26, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 17.08.2014
Сообщений: 23
1

Поиск на странице открытой в webbrowser

17.08.2014, 15:29. Показов 5280. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Пытаюсь организовать поиск на странице открытой в WebBrowser, вот нашел такой код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure WBFindText(Browser: TWebBrowser; const Direction: Boolean; const FText: String;
  const SearchScope, Flags: Integer);
var
  Doc: IHTMLDocument2;
  SelObj: IHTMLSelectionObject;
  SelRange: IHtmlTxtRange;
begin
  Doc := Browser.Document as IHTMLDocument2;
  SelObj := Doc.Selection;
  SelRange := SelObj.CreateRange as IHTMLTxtRange;
  SelRange.Collapse(Direction);
  if SelRange.FindText(FText, SearchScope, Flags) then
  begin
    SelRange.Select;
    SelRange.ScrollIntoView(True);
  end
    else MessageBox(Handle, 'По Вашему запросу ничего не найдено', 'Поиск текста', MB_ICONINFORMATION);
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
WBFindText(MyCoolBrowser, False, 'MyCoolText', 1, 0); // Найти вперед
//WBFindText(MyCoolBrowser, True, 'MyCoolText', - 1, 1); // Найти назад
Все работает но после того как найдено последнее совпадение, жми на кнопку,не жми -ничего не происходит.
Как можно сделать что бы если найдено последнее совпадение то поиск шел сначала?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2014, 15:29
Ответы с готовыми решениями:

Как кликнуть по координатам на открытой странице в WebBrowser?
Суть такая: 1) Открываем сайт 2) Кликаем по указанным координатам например 10:15 Прошу помочь ;)

Получить все ссылки на странице открытой в WebBrowser
Доброго времени суток уважаемые форумчане! Прошу помочь кодом. Есть html файл который открываю с...

WebBrowser. Как получить Html код страницы открытой в "webBrowser" в правильной кодировке?
Пробую получить Html код страницы открытой в "webBrowser". public string GetHTMLCodPage() ...

Как удалить ссылку из открытой страницы в webBrowser
Привет всем! Как удалить ссылку из открытой страницы в webBrowser

7
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32833 / 21170 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
17.08.2014, 16:52 2
Лучший ответ Сообщение было отмечено mihall как решение

Решение

Delphi
1
2
3
4
5
6
7
// ...
  else
  begin
    Doc.Selection.empty; // <--- убираем выделение найденного текста
    MessageBox(Form1.Handle, 'По Вашему запросу ничего не найдено',
      'Поиск текста', MB_ICONINFORMATION);
  end;
, при следующем клике поиск продолжится с начала страницы...
1
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
20.08.2014, 01:34 3
Цитата Сообщение от mihall Посмотреть сообщение
организовать поиск на странице открытой в WebBrowser
Delphi
1
WebBrowser1.ExecWB(OLECMDID_FIND, OLECMDEXECOPT_DODEFAULT);
1
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
20.08.2014, 01:47 4
Это через окно поиска как на картинке.
Миниатюры
Поиск на странице открытой в webbrowser  
0
0 / 0 / 0
Регистрация: 17.08.2014
Сообщений: 23
21.08.2014, 20:33  [ТС] 5
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Это через окно поиска как на картинке.
"Это не совсем то что нужно, так как поиск делаю по 2 сайтам: нужная информация с первого сайта заносится в мемо и потом уже происходит поиск этой информации по второму сайту. вручную вводить долго и неудобно
0
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 13
03.09.2014, 15:56 6
Может лучше поиск делать по коду странички. К примеру сохраните html код второго допустим в мемо, и у же в этом мемо проганяйте поиск.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32833 / 21170 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
03.09.2014, 16:00 7
Может, лучше не писать что попало? Какой толк искать по коду, если надо
Цитата Сообщение от mihall Посмотреть сообщение
организовать поиск на странице открытой в WebBrowser
На, а не в, разницу чувствуешь? Надо показать пользователю, чт найдено, а не просто так сказать, что оно там есть, вот в этой строке исходного кода, в одной куче вместе с <a> <div> <span> <script>-ами. Ответ, как это сделать, был уже дан... Я уж не говорю о том, что будет найдено, если я введу "nbsp" для поиска. В коде странички такого добра валом, в вот в тексте, отображаемом пользователю через WebBrowser - нет ни разу.
0
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 13
03.09.2014, 16:11 8
Да Вы правы. По поводу "на" тут моя ошибка, не допонял ТС. Вами действительно дан уже ответ как решить проблему.
0
03.09.2014, 16:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2014, 16:11
Помогаю со студенческими работами здесь

Как получить ссылку из открытой страницы в webBrowser
Добрый вечер всем!) на сайте vk.com имеется элемент &lt;a class=&quot;top_nav_link&quot; id=&quot;logout_link&quot;...

На открытой странице не работает a:active
На открытой странице, не работает ul.menu li a:active &lt;html&gt; &lt;head&gt; &lt;meta...

Подключение в открытой странице браузера
Здравствуйте, по работе возникла необходимость реализовать функцию поиска на внутреннем сайте по...

Получить html код последней страницы, открытой в WebBrowser
С помощью webbrowser (Navigate) перехожу по ссылке. Нажимаю на полученной странице ссылку и в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru