powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Управление IE через PB
16 сообщений из 16, страница 1 из 1
Управление IE через PB
    #39774576
Холоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Использую OLEObject для работы осликом (IE). Могу обращаться к DOM работать с элементами,
но вот например к history BOM'а обратиться немогу.

Например :

IE = create OLEobject

IE.connectToNewObject( "InternetExplorer.Application")//работает

IE.Navigate(web_portal)//работает

IE.History.go(1) //не работает

Вопрос:

Есть у кого-нибудь примеры как работать с BOM, в частности с history ?
...
Рейтинг: 0 / 0
Управление IE через PB
    #39774600
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 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 по результату гугля.
...
Рейтинг: 0 / 0
Управление IE через PB
    #39774858
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть отдельный интерфейс IUrlHistory .
Вот пример его использования , правда на C#.
...
Рейтинг: 0 / 0
Управление IE через PB
    #39774894
Холоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Спасибо за инфу, я думаю в дальнейшем документация пригодится.Но проблема, как оказалось в другом:

Сначала я захожу на страницу , затем на ней перехожу на другую в это время страница открывается в новом окне затем ещё на одну ,а затем вызывается JS (AJAX) функция после чего страница открывается в новой вкладке, но программно я всё ещё нахожусь на старой странице, хоть и фокус становится на новой странице, а мне как раз элементы этой страницы нужны.Пока не нашёл способов взять этот адрес.
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775720
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятия "новая"/"старая" - крайне относительно.

Все окна внутри браузера Вы явно можете про-enum'еровать, но как понять, какое и в какой момент (т.к. нужен момент, когда данные загрузились польностью) Вам нужно - тут уже кроме Вас никто разобраться не сможет

IMHO & AFAIK
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775728
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISЕсть отдельный интерфейс IUrlHistory .

Спасибо за уточнение.
IE через OLE Automation последний раз лет 10-ть назад вызывал (из MS Access)
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775835
Холоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,
Если быть более точным, то сначала происходит переход на определенную страницу, а уже из неё, по нажатию на определенную кнопку происходит открытие другой страницы в новой вкладке, причем визуально я нахожусь на открытой странице в новой вкладке, а вот программно остается URL, с которого я перешел на эту страницу.
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775852
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Холоп,
ищите решение в событиях:
Navigating - в процессе перехода; можно остановить.
Navigated - переход завершен.
или аналогично: перехватывать DocumentCompleted с контролем ReadyState.
где то так )
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775860
Холоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,
А можно как-либо замэпить события для OLE в билдере? если есть ссылка, буду премного благодарен.
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775942
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Холоп,
откровенно говоря, не понятно уже какую задачу надо решить. Опишите задачу, что не получается, и может уже можно будет чем то помочь.
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775949
Холоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,
Задача такая(разумеется из Powerbuilder):
1.Выполнить авторизацию на сайте и открыть бразуер на стартовой странице после авторизации(сделано)
2.Нажать на кнопку и перейти на другую страницу(сделано)
3.Взять URL этой самой страницы и обращаться к элементам на ней(не получается, т.к. браузер открывает эту страницу в новой вкладке, а программно я остаюсь на той странице из которой я открыл эту, а перейти на неё программно я не знаю как, учитывая что в пункте 2, нажимая на кнопку, мы выполняем функцию JS и переходим на нужную страницу с GET-параметром, т.о. полный Url формируется динамически для каждого нажатия на кнопку на предшествующей странице).

Вы говорите, что можно повесить обработчики на события Navigation, но я честно говоря не представляю как это можно сделать, чтобы выполнять обработку событий браузера в Powerbuilder.

Надеюсь так стало яснее.
...
Рейтинг: 0 / 0
Управление IE через PB
    #39775976
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Холоп,
почти все )
1. в п.2 кнопка на стартовой странице нажимается программно или физически?
2. после её нажатия переход на новую страницу в той же вкладке (окне) или новой?
3. если в новой вкладке (окне) - это так задумано или не получается остаться на стартовой вкладке (окне)?
...
Рейтинг: 0 / 0
Управление IE через PB
    #39776056
Холоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,
1.В п2. Кнопка нажимается программно.
2.После нажатия открывается целевая страница в новой вкладке.
3.Неполучается программно перейти на открытую в новой вкладке страницу(по изложенным выше причинам.)
...
Рейтинг: 0 / 0
Управление IE через PB
    #39776167
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Холоп,
если сделать новую вкладку активной, то в методе Navigate попробуйте установите нужный параметр TargetFrameName.
если надо просто управлять новой вкладкой, то попробуйте использовать параметр oleobject pdisp, соответствующий необходимой вкладке (см. в событиях: BeforeNavigate2, NavigateComplete2, NewWindow2).
...
Рейтинг: 0 / 0
Управление IE через PB
    #39776235
Холоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,
Методу navigate, насколько я понимаю, обязательно надо url подсвовывать, а я как раз таки его и незнаю, поскольку после нажатия на кнопку он формируется динамически и открывается в новой вкладке.
Т.е. я думал, что задав в коде перемещение на вкладку, можно как-то получить и URL этой вкладки.Видимо так просто нельзя сделать.
Могли бы вы навести на мысль, как использовать события Ole обьектов(браузера)? Я таких чудес ещё не видел)
...
Рейтинг: 0 / 0
Управление IE через PB
    #39781759
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может поможет:
15984887
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Управление IE через PB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (7): Анонимы (5), Bing Bot, Yandex Bot 1 мин.
x
x
Закрыть


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