Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Взаимодействие из Delphi-кода с внешним браузером  [new]
Правильный Вася
Member

Откуда:
Сообщений: 285
Пока только в качестве идеи, но хотелось бы определиться, возможно ли такое и насколько реализуемо.

Допустим, есть некий запущенный браузер с открытой страницей, на которой есть поля ввода. Нужно заполнить эти поля, после чего подтвердить ввод нажатием специальной кнопки на странице.
И вот это заполнение и нажатие нужно провести из отдельной программы на Delphi.
Если бы нужно было заполнять просто в нормальной windows-программе, то там попроще - есть handle каждого оконного элемента, по которому можно посылать сообщения.
В браузере же, как я понимаю, ничего такого нет.

Реализуема ли идея? Если да, подведите к началу тропы, пож.
29 июн 20, 02:23    [22158745]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1353
Правильный Вася,

Selenium WebDriver.
Даже не спрашивай, как его приделать к дельфи.
29 июн 20, 05:02    [22158755]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1353
Правильный Вася
Реализуема ли идея?


Нет. Выкинь дельфи, делай сразу всё в браузере.
29 июн 20, 05:03    [22158756]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 14193
Cef4Delphi?
29 июн 20, 09:29    [22158823]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6315
Правильный Вася,

Раньше можно было взять url из браузера через DdeClientConv. Дальше - грузим к себе страницу (в WebBrowser), внедряем в страницу свой JS, заполняем поля и отправляем. С движком от ГуглоХрома - уже вроде не прокатывает (но возможно я не глубоко копал, так что хз). Какова цель сего действа?
29 июн 20, 09:53    [22158833]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
s62
Member

Откуда: Жуковский
Сообщений: 1127
Правильный Вася,
к IE можно было подключиться через интерфейс IShellWindows. Только сейчас IE немного, кто пользуется.

Сообщение было отредактировано: 29 июн 20, 10:55
29 июн 20, 10:56    [22158872]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31199

29.06.2020 10:56, s62 пишет:
> к IE можно было подключиться через интерфейс IShellWindows.

а в новомодных виндах оно ещё поддерживается?

Posted via ActualForum NNTP Server 1.5

29 июн 20, 11:58    [22158942]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1353
Сделайте уже реализацию веб-драйвера на дельфи для лисы/хрома, чо как маленькие? Так и будете в 20-м году воздыхать по ишаку, когда, по сути, единственный актуальный веб-движок - это хромиум?

Ну или приделывайте либы/приложения на нормальных языках сбоку.
29 июн 20, 12:21    [22158972]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31199

а нахрена шурупы заколачивать гаечным ключом?!
все же знают что для этого молоток есть.

Posted via ActualForum NNTP Server 1.5

29 июн 20, 12:41    [22158992]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
s62
Member

Откуда: Жуковский
Сообщений: 1127
Мимопроходящий,
похоже, что поддерживается. Давно когда-то написал программку, такой, полуучебный проект, отслеживает открытия окон IE и проводника и выводит URL. Проверил сейчас под Windows 10, работает.
(но это так, для информации, не по теме автора, а то crutchmaster опять напишет, что воздыхаем по ишаку)

Сообщение было отредактировано: 29 июн 20, 12:48
29 июн 20, 12:46    [22158996]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6315
Если в плане пофилософствовать - то если есть открытый URL, есть страница и есть поля ввода - то логично предположить, что ТС знает, что это за страница, что за поля и как их заполнять. Тогда - задача тривиально решается POST запросом с помощью TIdHTTP.
29 июн 20, 13:46    [22159036]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
shalamyansky
Member

Откуда:
Сообщений: 156
Если страница геометрически стабильна, можно эмулировать действия пользователя: подвести мышь на нужную позицию - нажать кнопку - вставить значение из буфера - нажать enter. Это несложно, это работает и подойдет для разового единичного решения. Но весьма ненадежно, любое изменение геометрии или активность физического пользователя приведут к неприятным неожиданностям. Да, и расчет всегда на конкретные браузер, его версию и размер окна.

Зависимость от геометрии иногда можно убрать чисто клавиатурными последовательностями, табы, меню, стрелки и пр. Наладить процесс руками, потом повторить программно.
29 июн 20, 14:32    [22159081]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
rgreat
Member

Откуда:
Сообщений: 6019
А брузер обязательно внешний?

Во внутреннем можно и javascript произвольный выполнить.
29 июн 20, 14:49    [22159097]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31199

29.06.2020 14:49, rgreat пишет:
> А брузер обязательно внешний?

сферический.
ТС своё хотение предваряет словами: "ДОПУСТИМ есть..."

Posted via ActualForum NNTP Server 1.5

29 июн 20, 14:51    [22159100]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28883
Правильный Вася,

опять софтина для автоспама на форумах...
29 июн 20, 15:23    [22159123]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
miksoft
Member

Откуда:
Сообщений: 38432
kdv
Правильный Вася,

опять софтина для автоспама на форумах...
Не обязательно.
Мне, например, приходилось такое делать для логона на сайтах партнеров, чтобы пароль рядовым сотрудникам не раздавать. Во-первых, чтобы не было злоупотреблений в личных целях, во-вторых, чтобы менять можно было централизовано.
29 июн 20, 15:30    [22159128]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31199

29.06.2020 15:30, miksoft пишет:
> Не обязательно.
> Мне, например, приходилось такое делать для логона на сайтах партнеров, чтобы пароль рядовым сотрудникам не раздавать.
> Во-первых, чтобы не было злоупотреблений в личных целях, во-вторых, чтобы менять можно было централизовано.

а обеспечить программное взаимодействие с партнёрами, вместо костылей и подпорок, не?

Posted via ActualForum NNTP Server 1.5

29 июн 20, 15:33    [22159129]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
shalamyansky
Member

Откуда:
Сообщений: 156
Я таким образом собирал данные из открытых источников, которые отдают свои сокровища исключительно через пользовательский веб-интерфейс. При том, что на современном уровне веб-технологий сформировать "со стороны" правильный POST далеко не тривиальная задача.
29 июн 20, 15:38    [22159132]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
miksoft
Member

Откуда:
Сообщений: 38432
Мимопроходящий
а обеспечить программное взаимодействие с партнёрами, вместо костылей и подпорок, не?
Увы, это не так просто. И сами партнеры технически к этому не готовы. И политически они не готовы отдать нам сразу весь объем информации. Да и нам бы это принесло кучу дополнительной работы, которую просто не было ресурсов делать.
29 июн 20, 15:49    [22159134]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31199

яндыкс.маркет тоже с этого начинался...

Posted via ActualForum NNTP Server 1.5

29 июн 20, 15:50    [22159135]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50381

miksoft
И сами партнеры технически к этому не готовы.

Читать как "сами они в компьютерах не шарят, сайт заказали у фрилансера, как оно работает
никто не знает".

Posted via ActualForum NNTP Server 1.5

29 июн 20, 16:04    [22159144]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31199

29.06.2020 16:04, Dimitry Sibiryakov пишет:
> Читать как "сами они в компьютерах не шарят, сайт заказали у фрилансера,
> как оно работает никто не знает".

бывает и хуже.
когда в конторе есть свой ИТ-отдел, но "сайт заказали у фрилансера"...

Posted via ActualForum NNTP Server 1.5

29 июн 20, 16:10    [22159148]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
miksoft
Member

Откуда:
Сообщений: 38432
Dimitry Sibiryakov
miksoft
И сами партнеры технически к этому не готовы.

Читать как "сами они в компьютерах не шарят, сайт заказали у фрилансера, как оно работает
никто не знает".
В данном моем случае это категорически неверно. Но я воздержусь от подробностей.
29 июн 20, 16:12    [22159149]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
Нестандартное мышление
Member

Откуда:
Сообщений: 72
Правильный Вася,

Вопрос от человека, который в WEB не понимает ничего

Парси страницу(ы) изначально

Пойми, какие HTTP запросы идут

Пили в дельфятнике http-запросы

Тут даже студент разберется
29 июн 20, 16:38    [22159160]     Ответить | Цитировать Сообщить модератору
 Re: Взаимодействие из Delphi-кода с внешним браузером  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1353
Нестандартное мышление
Вопрос от человека, который в WEB не понимает ничего

Мы по дефолту считаем, что Вася, что-то понимает в вебе (пока он не доказал обратного) и просто не может сделать нормальный реверс сайта по объективным причинам (хитрожопые скрипты, капча и пр.)
30 июн 20, 04:47    [22159366]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить