powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / WebDriver для TWebBrowser
21 сообщений из 21, страница 1 из 1
WebDriver для TWebBrowser
    #39740503
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
столкнулся что на сайте хитрый обработчик .
Если вручную набрать текст в textarea innet text изменяется
Если его через innerHTML менять через dom / js он не срабатует .
В консоли отладчика оно меняет , а на форме нет . Хз как так .
Так же сайт перехватывает focus click enter .. Хитро короче ..

Как прикрутьти вебрайвер на twebbrowser ? Такое вообще возможно ?
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39740530
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имитируй юзера Winapi функциями, уж это сайт никак не различит (SetFocus, SendInput/Message)
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39740532
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и насчет innerHTML ты ошибаешься, у textarea нет никакого HTML внутри
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742011
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

перехват курсора напрягает очень , программа работает в фоне
по поводу второго замечания , там немного не так , да , там когда делаешь живой клик , добавляется два инпута и див, и при наборе а текстареа значение изменяется в 3х элементах .. но если их заполнять из js это не влияет на форму , или данные при передаче будут утерянные .. при клике какие то токены генерируются , и тд,. без литры не разобраться
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742020
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой-нибудь фреймворк используется типа ангуляра. У него данные хранятся в объектах, а потом синхронизиуются. Лучше как советовали раньше -- через эмуляцию пользовательского ввода. Если никак, то можно в дев-режиме любого браузера в коммандной строке поэкспериментировать с джаваскриптом и найти команду, которая добавляет/обновляет данные (предварительно посмотрев документацию на фреймворк, как это делается).
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742034
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiКакой-нибудь фреймворк используется типа ангуляра. У него данные хранятся в объектах, а потом синхронизиуются. Лучше как советовали раньше -- через эмуляцию пользовательского ввода. Если никак, то можно в дев-режиме любого браузера в коммандной строке поэкспериментировать с джаваскриптом и найти команду, которая добавляет/обновляет данные (предварительно посмотрев документацию на фреймворк, как это делается).код закрытый , ручной ввод не работает , так как оно умеет отличать живой клик от программного
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742049
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TREYоно умеет отличать живой клик от программного
Нельзя отличить, т.к. команды winapi что от нас (при фейковом вводе), что от системы (при вводе пользователем) -- одинаковые. Скорее всего вызывается некорректная последовательность, например, сначала надо поменять фокус/кликнуть по полю ввода, а потом уже вводить текст.
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742052
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiTREYоно умеет отличать живой клик от программного
Нельзя отличить, т.к. команды winapi что от нас (при фейковом вводе), что от системы (при вводе пользователем) -- одинаковые. Скорее всего вызывается некорректная последовательность, например, сначала надо поменять фокус/кликнуть по полю ввода, а потом уже вводить текст.
имелась в виду инъекция JS . WinAPI не удобно юзать через убегающий фокус или курсор
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742071
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TREYJaDiпропущено...

Нельзя отличить, т.к. команды winapi что от нас (при фейковом вводе), что от системы (при вводе пользователем) -- одинаковые. Скорее всего вызывается некорректная последовательность, например, сначала надо поменять фокус/кликнуть по полю ввода, а потом уже вводить текст.
имелась в виду инъекция JS . WinAPI не удобно юзать через убегающий фокус или курсор
Для инъекций можно использовать тот же jquery (наверняка он уже есть на странице -- если нет, то можно подключить в начале). Например, текст можно поменять вот так:
Код: javascript
1.
$("#name").val("123")


Где -- ID для input-поля (в данном случае текстовое). Если после этого в других местах значения не поменяются, то можно еще дополнительно вызывать события на изменения ( пример для ангуляра ):
Код: javascript
1.
2.
3.
4.
var input = $('input');
    input.val('xxx');
    input.trigger('input'); // Use for Chrome/Firefox/Edge
    input.trigger('change'); // Use for Chrome/Firefox/Edge + IE11
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742074
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все это, естественно, сначала тестируется в консоле браузере (нужные команды и их последовательность), а потом уже и в делфи вызываются.
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742080
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

еще раз говорю , там хитро сделано . При клике мышкой , генерится инпут и див , и в текстареа появляется новое свойство с ИДом , условно сесии .. И еще на странице появляется несколько JS ов а в них 100500 страниц обфусцированного кода .

При простом клике JS , или смене значения - ничего этого не происходит ;)
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742090
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TREY,

еще раз повторяю -- надо смотреть код на самой странице и экспериментировать. Все решения гуглятся за минуту. Изучать конкретный код, конкретной страницы и конкретного фреймворка. Эмуляция клика (во фреймворках может потребоваться вызывать другие события):
Код: javascript
1.
$("#field1").trigger("click");
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742094
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и да, озвучивать надо конкретные задачи и не секретничать... а то может там вообще банальный парсинг требуется сделать на динамической странице, а мы тут пытаемся руки к заднице прикрутить и залезть с черного хода, когда хватило бы пост-запроса с нужными параметрами.
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742095
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

еще раз повторюсь , если бы все было так просто , не придумывали бы WebDriver .
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742097
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TREY,

вебдрайвер придумали для совершенно других целей -- тестирования приложений. Пытаться его прикрутить и в разы усложнить задачу -- что же, удачи. И да, выполнение джаваскрипта никак не зависит от вебдрайвера или любого другого способа его выполнить (сюрприз, джаваскрипт можно вызывать прямо из делфи, да).

Сначала решается задача со страницей и набором требуемых команд для получения нужного результата, а потом уже эти команды реализуются на делфи, вебдрайвере, винапи или утюге. Этого автором сделано не было.
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742099
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

мальчик , иди делай уроки
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742113
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TREY,

строго рекомендую изучить принципы работы современных фреймворков, dom и shadow dom, события, binding и инструменты разработчика в браузерах. Сейчас понимания нет, отсюда и попытки сделать "то, не знаю что" и взгляд на всё как на магию.
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742114
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiTREY,

строго рекомендую изучить принципы работы современных фреймворков, dom и shadow dom, события, binding и инструменты разработчика в браузерах. Сейчас понимания нет, отсюда и попытки сделать "то, не знаю что" и взгляд на всё как на магию.
с этого и начни
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742292
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое простое, что можно придумать для фонового выполнения задачи, требующей фокуса, - это виртуалка либо параллельная сессия юзера.
Если не подходит, то у webdriver есть методы click, sendkeys.
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742371
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

капитан очевидность . Тепер вернемся к тебе топика , возможно ли прикрутить веб драйвер к активаикс twebbrowser-а , если да , пару статьей , какой драйвер лучше выбрать ?
...
Рейтинг: 0 / 0
WebDriver для TWebBrowser
    #39742410
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К twebbrowser едва ли есть, бери драйверы для IE и переделывай под встроенный компонент
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / WebDriver для TWebBrowser
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]