Добрый день, подскажите, пожалуйста, можно ли как-то убрать из фокуса страницу в IE, которая только что открылась?
То есть, я открываю страницу в IE, на этой странице нажимаю на кнопку и открывается еще 1 страница. Первая страница работает в фоновом режиме, а новую я никак не могу заставить не забирать на себя фокус.
помогает, но не моментально, фокус переключается и только потом она сворачивается.
UPD
Возможно поможет имитация нажатия ctrl+ЛКМ вместо обычного click, как его имитировать?
В общем задача выглядит так - существует страница, на которой нужно вставлять значения и нажимать на картинку, чтобы получить информацию по этому значению. Новая страница открывается в новой вкладке, через сервлеты, забирая на себя фокус. С этой страницы парсится вся информация и записывается в excel. Нужно чтобы это все работало в фоновом режиме. Проблема только с той страницей, с которой я забираю информацию, которая открывается через сервлет, соответственно сразу на нее я попасть не могу, никаких значений там не передается. Не знаю, уже 2 день сижу ищу информацию, пока ничего не работает. Возможно это можно как то сделать через javascript, учитывая то, что к сайту доступа у меня нет?
UPD2
Ctrl+ЛКМ не помогло, в тот момент как открывается новая страница открывается IE с основной страницей, хотя
стоит.
Есть какие-нибудь идеи, как сделать так чтобы не открывался IE при каждом attach ко 2 странице? Или хотя бы в какую сторону смотреть?
То есть, я открываю страницу в IE, на этой странице нажимаю на кнопку и открывается еще 1 страница. Первая страница работает в фоновом режиме, а новую я никак не могу заставить не забирать на себя фокус.
Код:
WinSetState ( "Патент", "", @SW_HIDE)
Код:
$oIE1 = _IEAttach("ФИПС") ; Определить объект страницы
_IELoadWait ($oIE1)
$oTextVal = _IEGetObjById($oIE1, "textfield3") ; value
$oFormShow = _IEGetObjById ($oIE1, "imageField2")
_IEFormElementSetValue ($oTextVal, $sCellValue)
_IEAction ($oFormShow, "click") ;click on show
$oIE2 = _IEAttach("", "instance", 2)
_IEAction ($oIE2, "invisible")
;~ WinActivate("Program Manager")
;~ WinSetOnTop ( "Патент", "", $WINDOWS_NOONTOP)
;~ WinSetState ( "Патент", "", @SW_HIDE)
UPD
Возможно поможет имитация нажатия ctrl+ЛКМ вместо обычного click, как его имитировать?
В общем задача выглядит так - существует страница, на которой нужно вставлять значения и нажимать на картинку, чтобы получить информацию по этому значению. Новая страница открывается в новой вкладке, через сервлеты, забирая на себя фокус. С этой страницы парсится вся информация и записывается в excel. Нужно чтобы это все работало в фоновом режиме. Проблема только с той страницей, с которой я забираю информацию, которая открывается через сервлет, соответственно сразу на нее я попасть не могу, никаких значений там не передается. Не знаю, уже 2 день сижу ищу информацию, пока ничего не работает. Возможно это можно как то сделать через javascript, учитывая то, что к сайту доступа у меня нет?
UPD2
Ctrl+ЛКМ не помогло, в тот момент как открывается новая страница открывается IE с основной страницей, хотя
Код:
WinSetState("ФИПС", "", @SW_HIDE)
Код:
$oIE = _IECreate("http://www1.fips.ru/wps/portal/Registers/",0,0,1,0); Открыть ФИПС общую страницу
WinSetState("ФИПС", "", @SW_HIDE)
$oIE = _IEAttach("ФИПС") ; Определить объект страницы
$oForms1 = _IEFormGetCollection ($oIE)
_IELinkClickByText ($oIE, $aRunArray[$k]) ; Чтобы зайти на нужную страницу - написать вместо Реестр изобретений нужный текст на странице (ссылка)
$oIE1 = _IEAttach("ФИПС") ; Определить объект страницы
_IELoadWait ($oIE1); Дождаться загрузки страницы
$oTextVal = _IEGetObjById($oIE1, "textfield3") ; value
$oFormShow = _IEGetObjById ($oIE1, "imageField2")
_IEFormElementSetValue ($oTextVal, $sCellValue) ; Вписать value
Send("{CTRLDOWN}")
_IEAction ($oFormShow, "click") ;click on show
Send("{CTRLUP}")
$oIE2 = _IEAttach("", "instance", 2)
_IELoadWait ($oIE2);
Есть какие-нибудь идеи, как сделать так чтобы не открывался IE при каждом attach ко 2 странице? Или хотя бы в какую сторону смотреть?