Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Может так? Хотя конечно, если бы можно было через _INetGetSource как то войти...было бы быстрее:
Код: Выделить весь код
#include <IE.au3> 
$oIE = _IECreate (" http://odnoklassniki.ru/",0,0)
_IELoadWait ($oIE) 

$oUser =_IEGetObjByName($oIE,"st.email") 
$oPass =_IEGetObjByName($oIE,"st.password") 
$oSabmit =_IEGetObjByName($oIE,"button_go") 

_IEFormElementSetValue ($oUser, 'Тут логин пишем') 
_IEFormElementSetValue ($oPass, 'Тут пароль пишем')


; Дальше идет нажатие на кнопку Войти
_IEAction ($oSabmit,"click")
_IELoadWait ($oIE) 

$KodHtml=_IEDocReadHTML ( $oIE )

;Дальше клик на кнопку Выход
_IELinkClickByText ($oIE, "Выход") ;тут после нажатия на кнопку выход, можно сразу убить процесс, предварительно установив в функции   --  IELinkClickByText ( ByRef $o_object, $s_linkText [, $i_index = 0], $f_wait = 1]] )  параметр $f_wait = 0. Так будет на несколько секунд быстрее, но я написал стандартный способ
_IEQuit($oIE)
$pattern="(?s).*?hook_SmilizeContent_id.*?>(.*?)</DIV>.*"
$sRezultat=StringregExpReplace($KodHtml,$pattern, "\1")
;отсеивание ненужного мусора.
$sRezultat2=StringregExpReplace($sRezultat,"(?s)(<.*?>)", " ")
;тут дальше, просто как одно из решений, производится поиск слова, это я к тому,что если сообщений нету, то вернется весь код страницы..., и следовательно если это слово DIV отсуствует в обработанной переменной $sRezultat2, то сообщение есть.
$result = StringInStr($sRezultat2, "DIV")
if $result=0 then
MsgBox(0,"Последнее сообщение",$sRezultat2)
Else
    MsgBox(0,"Последнее сообщение","Новых сообщений нету!")
endif
Exit
И еще одна непонятка, ты пишеш, чтоб начиналось с hook_SmilizeContent_id" а у меня на сайте так hook_SmilizeContent_id> , поэтому я делал как у меня...но если ты не ошиблась то можеш в $pattern записать hook_SmilizeContent_id.*?>
Сам исправил...

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.


Последний раз редактировалось beve, 25-03-2009 в 20:56.


Отправлено: 17:26, 25-03-2009 | #8