|
|
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
столкнулся что на сайте хитрый обработчик . Если вручную набрать текст в textarea innet text изменяется Если его через innerHTML менять через dom / js он не срабатует . В консоли отладчика оно меняет , а на форме нет . Хз как так . Так же сайт перехватывает focus click enter .. Хитро короче .. Как прикрутьти вебрайвер на twebbrowser ? Такое вообще возможно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 18:15 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
Имитируй юзера Winapi функциями, уж это сайт никак не различит (SetFocus, SendInput/Message) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 19:38 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
Ну и насчет innerHTML ты ошибаешься, у textarea нет никакого HTML внутри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2018, 19:40 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
Василий 2, перехват курсора напрягает очень , программа работает в фоне по поводу второго замечания , там немного не так , да , там когда делаешь живой клик , добавляется два инпута и див, и при наборе а текстареа значение изменяется в 3х элементах .. но если их заполнять из js это не влияет на форму , или данные при передаче будут утерянные .. при клике какие то токены генерируются , и тд,. без литры не разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 15:24 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
Какой-нибудь фреймворк используется типа ангуляра. У него данные хранятся в объектах, а потом синхронизиуются. Лучше как советовали раньше -- через эмуляцию пользовательского ввода. Если никак, то можно в дев-режиме любого браузера в коммандной строке поэкспериментировать с джаваскриптом и найти команду, которая добавляет/обновляет данные (предварительно посмотрев документацию на фреймворк, как это делается). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 15:34 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
JaDiКакой-нибудь фреймворк используется типа ангуляра. У него данные хранятся в объектах, а потом синхронизиуются. Лучше как советовали раньше -- через эмуляцию пользовательского ввода. Если никак, то можно в дев-режиме любого браузера в коммандной строке поэкспериментировать с джаваскриптом и найти команду, которая добавляет/обновляет данные (предварительно посмотрев документацию на фреймворк, как это делается).код закрытый , ручной ввод не работает , так как оно умеет отличать живой клик от программного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 15:57 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
TREYоно умеет отличать живой клик от программного Нельзя отличить, т.к. команды winapi что от нас (при фейковом вводе), что от системы (при вводе пользователем) -- одинаковые. Скорее всего вызывается некорректная последовательность, например, сначала надо поменять фокус/кликнуть по полю ввода, а потом уже вводить текст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 16:29 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
JaDiTREYоно умеет отличать живой клик от программного Нельзя отличить, т.к. команды winapi что от нас (при фейковом вводе), что от системы (при вводе пользователем) -- одинаковые. Скорее всего вызывается некорректная последовательность, например, сначала надо поменять фокус/кликнуть по полю ввода, а потом уже вводить текст. имелась в виду инъекция JS . WinAPI не удобно юзать через убегающий фокус или курсор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 16:34 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
TREYJaDiпропущено... Нельзя отличить, т.к. команды winapi что от нас (при фейковом вводе), что от системы (при вводе пользователем) -- одинаковые. Скорее всего вызывается некорректная последовательность, например, сначала надо поменять фокус/кликнуть по полю ввода, а потом уже вводить текст. имелась в виду инъекция JS . WinAPI не удобно юзать через убегающий фокус или курсор Для инъекций можно использовать тот же jquery (наверняка он уже есть на странице -- если нет, то можно подключить в начале). Например, текст можно поменять вот так: Код: javascript 1. Где -- ID для input-поля (в данном случае текстовое). Если после этого в других местах значения не поменяются, то можно еще дополнительно вызывать события на изменения ( пример для ангуляра ): Код: javascript 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 16:48 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
Все это, естественно, сначала тестируется в консоле браузере (нужные команды и их последовательность), а потом уже и в делфи вызываются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 16:50 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
JaDi, еще раз говорю , там хитро сделано . При клике мышкой , генерится инпут и див , и в текстареа появляется новое свойство с ИДом , условно сесии .. И еще на странице появляется несколько JS ов а в них 100500 страниц обфусцированного кода . При простом клике JS , или смене значения - ничего этого не происходит ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 16:56 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
TREY, еще раз повторяю -- надо смотреть код на самой странице и экспериментировать. Все решения гуглятся за минуту. Изучать конкретный код, конкретной страницы и конкретного фреймворка. Эмуляция клика (во фреймворках может потребоваться вызывать другие события): Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 17:14 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
и да, озвучивать надо конкретные задачи и не секретничать... а то может там вообще банальный парсинг требуется сделать на динамической странице, а мы тут пытаемся руки к заднице прикрутить и залезть с черного хода, когда хватило бы пост-запроса с нужными параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 17:17 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
JaDi, еще раз повторюсь , если бы все было так просто , не придумывали бы WebDriver . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 17:18 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
TREY, вебдрайвер придумали для совершенно других целей -- тестирования приложений. Пытаться его прикрутить и в разы усложнить задачу -- что же, удачи. И да, выполнение джаваскрипта никак не зависит от вебдрайвера или любого другого способа его выполнить (сюрприз, джаваскрипт можно вызывать прямо из делфи, да). Сначала решается задача со страницей и набором требуемых команд для получения нужного результата, а потом уже эти команды реализуются на делфи, вебдрайвере, винапи или утюге. Этого автором сделано не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 17:23 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
JaDi, мальчик , иди делай уроки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 17:27 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
TREY, строго рекомендую изучить принципы работы современных фреймворков, dom и shadow dom, события, binding и инструменты разработчика в браузерах. Сейчас понимания нет, отсюда и попытки сделать "то, не знаю что" и взгляд на всё как на магию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 17:46 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
JaDiTREY, строго рекомендую изучить принципы работы современных фреймворков, dom и shadow dom, события, binding и инструменты разработчика в браузерах. Сейчас понимания нет, отсюда и попытки сделать "то, не знаю что" и взгляд на всё как на магию. с этого и начни ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 17:48 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
Самое простое, что можно придумать для фонового выполнения задачи, требующей фокуса, - это виртуалка либо параллельная сессия юзера. Если не подходит, то у webdriver есть методы click, sendkeys. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2018, 10:31 |
|
||
|
WebDriver для TWebBrowser
|
|||
|---|---|---|---|
|
#18+
Василий 2, капитан очевидность . Тепер вернемся к тебе топика , возможно ли прикрутить веб драйвер к активаикс twebbrowser-а , если да , пару статьей , какой драйвер лучше выбрать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2018, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39742080&tid=2040043]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
157ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 454ms |

| 0 / 0 |
