|
|
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Пока только в качестве идеи, но хотелось бы определиться, возможно ли такое и насколько реализуемо. Допустим, есть некий запущенный браузер с открытой страницей, на которой есть поля ввода. Нужно заполнить эти поля, после чего подтвердить ввод нажатием специальной кнопки на странице. И вот это заполнение и нажатие нужно провести из отдельной программы на Delphi. Если бы нужно было заполнять просто в нормальной windows-программе, то там попроще - есть handle каждого оконного элемента, по которому можно посылать сообщения. В браузере же, как я понимаю, ничего такого нет. Реализуема ли идея? Если да, подведите к началу тропы, пож. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 02:23 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася, Selenium WebDriver. Даже не спрашивай, как его приделать к дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 05:02 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася Реализуема ли идея? Нет. Выкинь дельфи, делай сразу всё в браузере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 05:03 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Cef4Delphi? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 09:29 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася, Раньше можно было взять url из браузера через DdeClientConv. Дальше - грузим к себе страницу (в WebBrowser), внедряем в страницу свой JS, заполняем поля и отправляем. С движком от ГуглоХрома - уже вроде не прокатывает (но возможно я не глубоко копал, так что хз). Какова цель сего действа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 09:53 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася, к IE можно было подключиться через интерфейс IShellWindows. Только сейчас IE немного, кто пользуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 10:56 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
29.06.2020 10:56, s62 пишет: > к IE можно было подключиться через интерфейс IShellWindows. а в новомодных виндах оно ещё поддерживается? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 11:58 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Сделайте уже реализацию веб-драйвера на дельфи для лисы/хрома, чо как маленькие? Так и будете в 20-м году воздыхать по ишаку, когда, по сути, единственный актуальный веб-движок - это хромиум? Ну или приделывайте либы/приложения на нормальных языках сбоку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 12:21 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
а нахрена шурупы заколачивать гаечным ключом?! все же знают что для этого молоток есть. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 12:41 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, похоже, что поддерживается. Давно когда-то написал программку, такой, полуучебный проект, отслеживает открытия окон IE и проводника и выводит URL. Проверил сейчас под Windows 10, работает. (но это так, для информации, не по теме автора, а то crutchmaster опять напишет, что воздыхаем по ишаку) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 12:46 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Если в плане пофилософствовать - то если есть открытый URL, есть страница и есть поля ввода - то логично предположить, что ТС знает, что это за страница, что за поля и как их заполнять. Тогда - задача тривиально решается POST запросом с помощью TIdHTTP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 13:46 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Если страница геометрически стабильна, можно эмулировать действия пользователя: подвести мышь на нужную позицию - нажать кнопку - вставить значение из буфера - нажать enter. Это несложно, это работает и подойдет для разового единичного решения. Но весьма ненадежно, любое изменение геометрии или активность физического пользователя приведут к неприятным неожиданностям. Да, и расчет всегда на конкретные браузер, его версию и размер окна. Зависимость от геометрии иногда можно убрать чисто клавиатурными последовательностями, табы, меню, стрелки и пр. Наладить процесс руками, потом повторить программно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 14:32 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
А брузер обязательно внешний? Во внутреннем можно и javascript произвольный выполнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 14:49 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
29.06.2020 14:49, rgreat пишет: > А брузер обязательно внешний? сферический. ТС своё хотение предваряет словами: "ДОПУСТИМ есть..." Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 14:51 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася, опять софтина для автоспама на форумах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 15:23 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
kdv Правильный Вася, опять софтина для автоспама на форумах... Мне, например, приходилось такое делать для логона на сайтах партнеров, чтобы пароль рядовым сотрудникам не раздавать. Во-первых, чтобы не было злоупотреблений в личных целях, во-вторых, чтобы менять можно было централизовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 15:30 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
29.06.2020 15:30, miksoft пишет: > Не обязательно. > Мне, например, приходилось такое делать для логона на сайтах партнеров, чтобы пароль рядовым сотрудникам не раздавать. > Во-первых, чтобы не было злоупотреблений в личных целях, во-вторых, чтобы менять можно было централизовано. а обеспечить программное взаимодействие с партнёрами, вместо костылей и подпорок, не? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 15:33 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Я таким образом собирал данные из открытых источников, которые отдают свои сокровища исключительно через пользовательский веб-интерфейс. При том, что на современном уровне веб-технологий сформировать "со стороны" правильный POST далеко не тривиальная задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 15:38 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий а обеспечить программное взаимодействие с партнёрами, вместо костылей и подпорок, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 15:49 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
яндыкс.маркет тоже с этого начинался... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 15:50 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
miksoftИ сами партнеры технически к этому не готовы. Читать как "сами они в компьютерах не шарят, сайт заказали у фрилансера, как оно работает никто не знает". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 16:04 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
29.06.2020 16:04, Dimitry Sibiryakov пишет: > Читать как "сами они в компьютерах не шарят, сайт заказали у фрилансера, > как оно работает никто не знает". бывает и хуже. когда в конторе есть свой ИТ-отдел, но "сайт заказали у фрилансера"... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 16:10 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov miksoftИ сами партнеры технически к этому не готовы. Читать как "сами они в компьютерах не шарят, сайт заказали у фрилансера, как оно работает никто не знает".В данном моем случае это категорически неверно. Но я воздержусь от подробностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 16:12 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася, Вопрос от человека, который в WEB не понимает ничего Парси страницу(ы) изначально Пойми, какие HTTP запросы идут Пили в дельфятнике http-запросы Тут даже студент разберется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2020, 16:38 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Нестандартное мышление Вопрос от человека, который в WEB не понимает ничего Мы по дефолту считаем, что Вася, что-то понимает в вебе (пока он не доказал обратного) и просто не может сделать нормальный реверс сайта по объективным причинам (хитрожопые скрипты, капча и пр.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 04:47 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
shalamyansky Если страница геометрически стабильна, можно эмулировать действия пользователя: Так, прекращайте тут вот это вот. Я тут crutchmaster, а не вы. И даже мне от такого не по себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 04:50 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася Пока только в качестве идеи, но хотелось бы определиться, возможно ли такое и насколько реализуемо. Допустим, есть некий запущенный браузер с открытой страницей, на которой есть поля ввода. Нужно заполнить эти поля, после чего подтвердить ввод нажатием специальной кнопки на странице. И вот это заполнение и нажатие нужно провести из отдельной программы на Delphi. Если бы нужно было заполнять просто в нормальной windows-программе, то там попроще - есть handle каждого оконного элемента, по которому можно посылать сообщения. В браузере же, как я понимаю, ничего такого нет. Реализуема ли идея? Если да, подведите к началу тропы, пож. А зачем так сложно? После заполнения формы в браузере и нажатия кнопки на сервер отправляется GET или POST запрос. Возьмите из Delphi отвравьте такой запрос на на сервер. Зачем заморачиваться с заполнением формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 08:53 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 09:28 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Все такие POST мастера-мастера... Попробуйте для начала отправить программно сообщение на этот форум. Во-первых, работать придется не с HTTP, а HTTPS, для чего нужно еще обеспечить себя сертификатом и поддержкой SSL. Во-вторых, пройти авторизацию, что тянет несколько предварительных запросов с анализом откликов, фиксацией куков и пр. Дальше тут несложно, ибо внятная HTML-страница c очевидной формой и параметрами. Но так прозрачно бывает далеко не всегда. Попробуйте, например, отправить что-нибудь в свой банк-онлайн, повеселимся вместе. Но, конечно, в конкретном случае у топикстартера может быть и чистый HTTP с голым рукодельным HTML без какой-либо авторизации. POST ему в руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 14:34 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
shalamyansky Во-первых, работать придется не с HTTP, а HTTPS, для чего нужно еще обеспечить себя сертификатом и поддержкой SSL. SSL сертификат нужен только серверу. Достаточно любого HTTPS клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 14:55 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
b0rk SSL сертификат нужен только серверу. Во многих случаях только серверу, но иногда и клиенту. Смотря куда вы лезете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 15:12 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
shalamyansky b0rk SSL сертификат нужен только серверу. Во многих случаях только серверу, но иногда и клиенту. Смотря куда вы лезете. Смотря какая там авторизация, скорее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 17:16 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
shalamyansky Попробуйте, например, отправить что-нибудь в свой банк-онлайн, повеселимся вместе. Можно забивать гвозди дрелью, и веселиться...но может лучше использовать молоток? Онлайн-банкинг, например, как правило имеет внятное апи, вместо отправки пост-запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2020, 17:53 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
Правильный Вася Пока только в качестве идеи, но хотелось бы определиться, возможно ли такое и насколько реализуемо. Допустим, есть некий запущенный браузер с открытой страницей, на которой есть поля ввода. Нужно заполнить эти поля, после чего подтвердить ввод нажатием специальной кнопки на странице. И вот это заполнение и нажатие нужно провести из отдельной программы на Delphi. Если бы нужно было заполнять просто в нормальной windows-программе, то там попроще - есть handle каждого оконного элемента, по которому можно посылать сообщения. В браузере же, как я понимаю, ничего такого нет. Реализуема ли идея? Если да, подведите к началу тропы, пож. идея реализуема, вот последовательность действий: - делаешь скриншот экрана. это просто - распознаеш образы в полученном графическом файле. это сложнее - переводишь графические образы в тестовые описания с координатами(типа квадрат(30х50)38Х387), ну тут прийдется поработать - сопоставляшь текстовые описания с экрана с описаниями из базы (те окна что тебе нужны определяешь), тут несложно - подводишь курсор мыши в нужное место(элементарно) и вводишь текст или там жмакаешь кнопку в общем нужно сделать систему технического зрения для дроида и все это на ДЕЛЬФИ! как сделаешь - расскажи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2020, 15:28 |
|
||
|
Взаимодействие из Delphi-кода с внешним браузером
|
|||
|---|---|---|---|
|
#18+
shalamyansky для чего нужно еще обеспечить себя сертификатом и поддержкой SSL. Не нужно. shalamyansky Во-вторых, пройти авторизацию, что тянет несколько предварительных запросов с анализом откликов, фиксацией куков и пр Можно забрать куки с браузера. shalamyansky Попробуйте, например, отправить что-нибудь в свой банк-онлайн, повеселимся вместе. А вот с этим согласен. Хотя, с другой стороны, есть селениум ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2020, 04:06 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038182]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
179ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 461ms |

| 0 / 0 |
