Что нового

Скрипт не находит текст при использование _IECreateEmbedded()

Trans

Знающий
Сообщения
257
Репутация
6
ребят, подскажите пожалуйста, почему (Рег.выр.) не находит текст при использование функции
Код:
_IECreateEmbedded()

Но при этом находит эту строку при открытие страницы через сам браузер IE-9
Код страницы:
Код:
<div class="header_mes" align="left"><strong><span style="color:#FF0000;font-weight:bold">22:04:07</span></strong> <img src="/system_my.gif" border="0" style="vertical-align:middle" alt="[[[ Система ]]] для mag_on:" title="[[[ Система ]]] для mag_on:"> Бой с mag_on [25] начался!
<strong><span style="color:#FF0000;font-weight:bold">22:04:07</span></strong> <img src="./World of Rest - мобильная online игра!_files/system_my.gif" border="0" style="vertical-align:middle" alt="[[[ Система ]]] для mag_on:" title="[[[ Система ]]] для mag_on:"> Внимание! На Вас напал <a target="\&quot;_blank\&quot;" href="/infouser.php?name=mag_on">mag_on</a> использовав свиток нападения!
</div></div><div class="pers">
Вот сам (Рег.Выр)
Код:
$reg=StringRegExp(_IEBodyReadHTML($oIE), '(?)\<div.class=\"header_mes.*?Вас.напал.*?name=(.*?)\>.*?исп\D+ия',3)
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Очень может быть, что вместо двойных ковычек будут одинарные, или будет изменен порядок атрибутов, сперва может быть name, затем class. Сохраните HTML в текстовый файл и посмотрите отличия.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Trans [?]
Сохранил, всё равно не находит
Код:
$sHTML = FileRead(@ScriptDir & '\2.txt')
$sRes = StringRegExpReplace($sHTML, '.*infouser\.php\?name=(.+?)[''"]>.*', '$1')
If @extended = 1 Then
	ConsoleWrite(@extended & @TAB & $sRes & @LF)
Else
	ConsoleWrite('error' & @LF)
EndIf
В 2.txt HTML-код из Вашего первого поста.
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
madmasles, если открывать не через функцию _IECreateEmbedded(), то работает, а когда через неё открываешь страницу - не работает(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Trans,
Что возвращает этот кусок кода?
Код:
;...
$sHTML = _IEBodyReadHTML($oIE)
ConsoleWrite(@error & @TAB & $sHTML & @LF)
;...
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Разобрался, оказывается IE не много по другому страницу открывала (не много изменённый код), вот только почему - хз)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Это оно?
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

$oIE = _IECreateEmbedded ()
GUICreate('Embedded', 640, 470, -1, -1, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 620, 360)
$Button = GUICtrlCreateButton('RegExp', 10, 420, 100, 30)
GUISetState()

_IENavigate ($oIE, 'my.html')

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button
			MsgBox(64, '_IEBodyReadHTML', StringRegExpReplace(_IEBodyReadHTML($oIE), '(?s).*(?<=name\=)([\w_]+).*', '$1'))
;~ 			MsgBox(64, '_IEBodyReadText', StringRegExpReplace(_IEBodyReadText($oIE), '(?s).*(?<=напал\s)([\w_]+).*', '$1')) ; или так
	EndSwitch
WEnd
 
Верх