![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.04.2015
Сообщений: 31
|
![]()
Написал потомка от TWebBrowser а как при ожидании навигации выполнить Application.ProcessMessages() не знаю (TApplication не видим).
Конечно извратился через поиск: Код:
______________________ Используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ Последний раз редактировалось Alex11223; 24.09.2019 в 15:34. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
это так себе идея. Надо нормально использовать события.
Что вы сделать пытаетесь? Если это какая-то автоматизация типа бота, то для такого проще всего взять Selenium на любом ЯП где он доступен. (зачем вам вообще Билдер в 2019 году? взяли б хоть Qt раз С++) И TWebBrowser это IE. Его уже давно не обновляют, многие сайты перестают его поддерживать, и даже Майкрософт не считает его браузером. А на некоторых сайтах по умолчанию вообще может включиться режим IE 7. ЗЫ у вас странный стиль отступов.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 24.09.2019 в 15:53. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 03.04.2015
Сообщений: 31
|
![]() Код:
т.е. вызвать диспетчер очередей без применения TApplication. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
я про исходную задачу спрашивал, зачем вам браузер в билдере.
а так такие ожидания не стоит использовать, просто обрабатывайте события.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 03.04.2015
Сообщений: 31
|
![]()
Поясните, пожалуйста, как организовать обработку события от браузера, подтверждающего его READYSTATE_COMPLETE ?
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
ну там есть же события завершения загрузки и т.д., в любом примере это показано. Делайте в них что надо.
Если загружать надо много раз, то будет callback hell )) Но Application.ProcessMessages() не особо лучше если нормально делать и с ним легко сделать фигню если тупо использовать как обычную синхронную функцию и не блокировать UI и т.д. А если вы еще и спрятали это внутрь компонента, то легко забыть где что. Ну и вообще с TWebBrowser куча проблем, лучше понять как можно раньше, что вы выбрали неправильный инструмент, и взять что-то нормальное.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 03.04.2015
Сообщений: 31
|
![]()
Да, всё там ... написано, сколько будет редиректов, столько и OnDocumentComplete.
Задача по отслеживанию истории вакансий на одном сайте (получится, то и многих), парсинг приходится делать только после полной загрузки страниц и выполнения на них всех скриптов. Ну и что же вместо TWebBrowser ? |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
я же сказал, для такой автоматизации самый простой вариант — Selenium, на любом ЯП где он доступен.
И С++ вообще плохой выбор для такой задачи, он тут не даст никаких преимуществ (производительность зависит в основном от сети и сервера) и только замедлит разработку. Для такого берут что-то высокоуровневое типа Питона. И GUI обычно не нужен для такого, часто хватает консоли, файлов и т.д.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 25.09.2019 в 10:44. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 03.04.2015
Сообщений: 31
|
![]()
Пока я прочитал только про Selenium, GUI только для Firefox (ведь на эти вакансии надо ещё поглядеть),
а историю вместо БД я куда положу ? |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Selenium это библиотека для автоматизации браузеров. Там есть простая GUI версия для ФФ с записью действий, но это не нужно в данном случае.
в БД. В чем проблема с этим?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 25.09.2019 в 12:09. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Timer и Application.ProcessMessages | Zerofill | Общие вопросы Delphi | 5 | 21.11.2009 13:29 |
application.ProcessMessages; | UROKSAN | Общие вопросы Delphi | 2 | 10.04.2008 13:32 |
Аналог Application.ProcessMessages() | Alter | Общие вопросы Delphi | 10 | 10.02.2008 00:58 |
Application.ProcessMessages | =LeonZone= | Общие вопросы Delphi | 11 | 27.01.2008 21:31 |
Application.ProcessMessages | KAMASUTR | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 11.08.2007 23:38 |