Что нового

Одновременная работа с несколькими IE

vagrant_name

Новичок
Сообщения
3
Репутация
0
Други, не пойму в чем дело.

Открыто 4 окна ie9. Нужно одновременно работать с ними. Находит лишь первое по списку, далее ноу матч мол. :shok:

Код:
#include <IE.au3>

; Включаем таймер
$hTimer = TimerInit()


; Конфиг
$sConf_URL1 = "http://google.com/"
$sConf_URL2 = "http://yandex.ru/"
$sConf_URL3 = "http://yahoo.com/"
$sConf_URL4 = "http://rambler.ru/"

; прилипаем к окнам
$oIE1 = _IEAttach ("[REGEXPTITLE:str1;]", "embedded")
$oIE2 = _IEAttach ("[REGEXPTITLE:str2;]", "embedded")
$oIE3 = _IEAttach ("[REGEXPTITLE:str3;]", "embedded")
$oIE4 = _IEAttach ("[REGEXPTITLE:str4;]", "embedded")

; Show Must Go On
_IENavigate($oIE1, $sConf_URL1)
_IENavigate($oIE2, $sConf_URL2)
_IENavigate($oIE3, $sConf_URL3)
_IENavigate($oIE4, $sConf_URL4)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Re: Одновременная работа с несколькими $oIE

Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
(подробнее), а обычный код соответственно в тег [code]
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 

Shinoby

Новичок
Сообщения
80
Репутация
2
присоединяюсь к вопросу.
схожая ситуация со вкладкой - периодически вкладка не находится. _IEATTACH не находит совпадения.
пробовал несколько советов с форума - все обнаруживают только один instance.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Shinoby,
Попробуйте сделать как в Примере 5 в справке функции
Код:
_IEAttach()
 

Shinoby

Новичок
Сообщения
80
Репутация
2
так и делаю. и по тайтлу пробовал, и по урлу: при личном контроле - все работает.
а как отрабатывает без присмотра - вкладка просто теряется. ее как бы и нет.
процесс зависал на этом - по этому потом была возможность так же отыскать вкладку - нет ее.
при этом _ieattach - сообщает что нет совпадения.

сейчас попробую переодически убивать процесс и перезапускать IE. видимо проблема гдето в браузере/осе. :stars:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Shinoby [?]
так и делаю. и по тайтлу пробовал, и по урлу
Немного переделанный Пример 5 из справки к _IEAttach (у меня находит все открытые вкладки или окна):
Код:
#include <IE.au3>

Local $aIE[1], $i = 1
While 1
	$oIE = _IEAttach('', 'instance', $i)
	If @error = $_IEStatus_NoMatch Then ExitLoop
	ReDim $aIE[$i + 1]
	$aIE[$i] = $oIE
	$aIE[0] = $i
	$i += 1
WEnd

If $aIE[0] Then
	For $i = 1 To $aIE[0]
		ConsoleWrite($i & ' (' & $aIE[0] & ') ' & _IEPropertyGet($aIE[$i], 'locationurl') & @LF)
	Next
Else
	ConsoleWrite('No IE' & @LF)
EndIf
 

Shinoby

Новичок
Сообщения
80
Репутация
2
да тоже его мучил, и по привычке пользуюсь msgbox вместо консоли - и вот что получается: когда искусственно создаю окна с вкладками - этот код находит их всех. да и просто аттачем по урлу - можно к любому подключится.
а вот тот самый вариант, рожденный реальной ситуацией, когда в одном окне 2 вкладки - видит только одну.
в связи с чем и решил что проблема автора ветки - та же что и у меня.

при этом особенности с embedded - не совсем догоняю.... в связи с чем надеюсь, что все ответы именно в нем. но пока не понял как пользоваться.

зы. пробовал убивать процесс - не помогало. :-/
 

ssvih-miaa

Новичок
Сообщения
41
Репутация
0
Код:
#include <IE.au3>

Global Const $sFileConfig = @ScriptDir & "\config.ini"

Global $sGBLogin = IniRead($sFileConfig,'socialtools','sGBLogin','')
Global $sGBPass = IniRead($sFileConfig,'socialtools','sGBPass','')
Global $sGBDomain = "http://socialtools.ru/"


Global $fGBLogin = IniRead($sFileConfig,'freeliked','fGBLogin','')
Global $fGBPass = IniRead($sFileConfig,'freeliked','fGBPass','')
Global $fnameFormLog = "loginform"
Global $fLoginForm = "loginUsername"
Global $fPassForm = "loginPassword"
Global $fGBDomain = "http://www.freeliked.com/"
Global $fEarnVKGroup = "earn.php?p=vkm"

Local $oIE = _IECreate()

fLogIn($oIE) ; Авторизация на сайте www.freeliked.com

_IELoadWait($oIE)

_IENavigate($oIE, $fGBDomain & $fEarnVKGroup)

_IELoadWait($oIE)

$oLinks = _IETagNameGetCollection($oIE, "a")
For $oLink In $oLinks
    If StringInStr($oLink.getAttribute('onclick'), 'stumble') And StringInStr($oLink.className, 'btn-info') Then
         _IEAction($oLink, 'click')
        ExitLoop
    EndIf
Next

$sHTML = _IEDocReadHTML ($oIE)
$f = FileOpen(@ScriptDir & "\HTMLVK.txt", 2)
FileWrite($f, $sHTML)
FileClose($f)


Ребята помогите понять как спарсить или работать с новым окном IE которое было открыто после перехода по ссылке, в какую сторону смотреть? Какие библиотеки использовать?
В примере не хватает финчи на вход
 
Верх