|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Здравствуйте. Использую OLEObject для работы осликом (IE). Могу обращаться к DOM работать с элементами, но вот например к history BOM'а обратиться немогу. Например : IE = create OLEobject IE.connectToNewObject( "InternetExplorer.Application")//работает IE.Navigate(web_portal)//работает IE.History.go(1) //не работает Вопрос: Есть у кого-нибудь примеры как работать с BOM, в частности с history ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2019, 15:20 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
В MSDN у данного объекта (и у IWebBrowser2) как-то свойства history не обнаруживается ((( Возможно что доступ к history и нет. Только возможность сделать GoBack и GoForward. Ну или как-то JavaScript внутрь пропихивать и выполнять. https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa752084(v=vs.85) AFAIK & IMHO по результату гугля. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2019, 15:40 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Спасибо за инфу, я думаю в дальнейшем документация пригодится.Но проблема, как оказалось в другом: Сначала я захожу на страницу , затем на ней перехожу на другую в это время страница открывается в новом окне затем ещё на одну ,а затем вызывается JS (AJAX) функция после чего страница открывается в новой вкладке, но программно я всё ещё нахожусь на старой странице, хоть и фокус становится на новой странице, а мне как раз элементы этой страницы нужны.Пока не нашёл способов взять этот адрес. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2019, 14:08 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Понятия "новая"/"старая" - крайне относительно. Все окна внутри браузера Вы явно можете про-enum'еровать, но как понять, какое и в какой момент (т.к. нужен момент, когда данные загрузились польностью) Вам нужно - тут уже кроме Вас никто разобраться не сможет IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 16:41 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
AISЕсть отдельный интерфейс IUrlHistory . Спасибо за уточнение. IE через OLE Automation последний раз лет 10-ть назад вызывал (из MS Access) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 16:45 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Если быть более точным, то сначала происходит переход на определенную страницу, а уже из неё, по нажатию на определенную кнопку происходит открытие другой страницы в новой вкладке, причем визуально я нахожусь на открытой странице в новой вкладке, а вот программно остается URL, с которого я перешел на эту страницу. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 18:21 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Холоп, ищите решение в событиях: Navigating - в процессе перехода; можно остановить. Navigated - переход завершен. или аналогично: перехватывать DocumentCompleted с контролем ReadyState. где то так ) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 18:39 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
AIS, А можно как-либо замэпить события для OLE в билдере? если есть ссылка, буду премного благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 18:49 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Холоп, откровенно говоря, не понятно уже какую задачу надо решить. Опишите задачу, что не получается, и может уже можно будет чем то помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 22:54 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
AIS, Задача такая(разумеется из Powerbuilder): 1.Выполнить авторизацию на сайте и открыть бразуер на стартовой странице после авторизации(сделано) 2.Нажать на кнопку и перейти на другую страницу(сделано) 3.Взять URL этой самой страницы и обращаться к элементам на ней(не получается, т.к. браузер открывает эту страницу в новой вкладке, а программно я остаюсь на той странице из которой я открыл эту, а перейти на неё программно я не знаю как, учитывая что в пункте 2, нажимая на кнопку, мы выполняем функцию JS и переходим на нужную страницу с GET-параметром, т.о. полный Url формируется динамически для каждого нажатия на кнопку на предшествующей странице). Вы говорите, что можно повесить обработчики на события Navigation, но я честно говоря не представляю как это можно сделать, чтобы выполнять обработку событий браузера в Powerbuilder. Надеюсь так стало яснее. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 23:28 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Холоп, почти все ) 1. в п.2 кнопка на стартовой странице нажимается программно или физически? 2. после её нажатия переход на новую страницу в той же вкладке (окне) или новой? 3. если в новой вкладке (окне) - это так задумано или не получается остаться на стартовой вкладке (окне)? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 01:36 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
AIS, 1.В п2. Кнопка нажимается программно. 2.После нажатия открывается целевая страница в новой вкладке. 3.Неполучается программно перейти на открытую в новой вкладке страницу(по изложенным выше причинам.) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 10:32 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Холоп, если сделать новую вкладку активной, то в методе Navigate попробуйте установите нужный параметр TargetFrameName. если надо просто управлять новой вкладкой, то попробуйте использовать параметр oleobject pdisp, соответствующий необходимой вкладке (см. в событиях: BeforeNavigate2, NavigateComplete2, NewWindow2). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 13:52 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
AIS, Методу navigate, насколько я понимаю, обязательно надо url подсвовывать, а я как раз таки его и незнаю, поскольку после нажатия на кнопку он формируется динамически и открывается в новой вкладке. Т.е. я думал, что задав в коде перемещение на вкладку, можно как-то получить и URL этой вкладки.Видимо так просто нельзя сделать. Могли бы вы навести на мысль, как использовать события Ole обьектов(браузера)? Я таких чудес ещё не видел) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 15:33 |
|
Управление IE через PB
|
|||
---|---|---|---|
#18+
Может поможет: 15984887 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2019, 10:40 |
|
|
Start [/forum/topic.php?fid=15&tid=1335075&gotonew=1]: |
0ms |
get settings: |
1ms |
get forum list: |
6ms |
check forum access: |
0ms |
check topic access: |
0ms |
track hit: |
20ms |
get topic data: |
5ms |
get first new msg: |
1ms |
get forum data: |
1ms |
get page messages: |
22ms |
update_topic_read_status (1335075): 04.03.2019 10:40:09: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
14ms |
check new: |
1ms |
others: | 75ms |
total: | 146ms |
0 / 0 |