Друзья, помогите с решением следующей задачи:
пишу программу для автоматизации тривиальных задач тех. поддержки интернет провайдера
есть кабинет интернет пользователя
нужно спарсить информацию о состоянии депозита и остатка трафика, бьюсь долго и разными методами, в XML который формирует биллинг нет нужной информации
вот пример кода, который приводит в нужное нам место, а как вытащить нужную инфу не могу разобраться
хотелось бы что бы выполнялось все в фоне и не видимо для пользователя
и вытащить нужно данные из верхней таблицы "Предоплата" - Тип 0: , Всего и Осталось в сообщение в трее
пишу программу для автоматизации тривиальных задач тех. поддержки интернет провайдера
есть кабинет интернет пользователя
нужно спарсить информацию о состоянии депозита и остатка трафика, бьюсь долго и разными методами, в XML который формирует биллинг нет нужной информации
вот пример кода, который приводит в нужное нам место, а как вытащить нужную инфу не могу разобраться
Код:
#include <IE.au3>
$Base_Url = "https://abills.nettv.uz"
$User = '1570'
$Pwd = '12341234'
$test = _IEAutoLogin($Base_Url, $User, $Pwd)
Func _IEAutoLogin($_sUrl, $_sUsername, $_sPwd)
Local $iIndex = 0
Local $oInputs, $oButton, $oIE, $oForm, $oLogin, $oPasswd
$oIE = _IECreate($_sUrl)
$oForm = _IEFormGetObjByName($oIE, 0)
$oLogin = _IEFormElementGetObjByName($oForm, "user")
$oPasswd = _IEFormElementGetObjByName($oForm, "passwd")
_IEFormElementSetValue($oLogin, $_sUsername)
_IEFormElementSetValue($oPasswd, $_sPwd)
$oButton = _IEFormElementGetObjByName($oForm, "logined")
_IEAction($oButton, "click")
Sleep(1000)
_IELoadWait($oIE)
$sSid = ''
$oLinks = _IETagNameGetCollection($oIE, "a")
If IsObj($oLinks) Then
For $oLink In $oLinks
$sLinkUrl = $oLink.href
$sLinkHtml = $oLink.innerHTML
If StringInStr($sLinkHtml, "Internet") Then
$tmp = StringRegExp($sLinkUrl, '.*?sid=([^&]*)', 3)
If IsArray($tmp) Then
$sSid = $tmp[0]
Else
$sSid = ''
EndIf
ConsoleWrite(StringFormat("+----------+\r\nFound link:\r\nURL: %s\r\nHTML: %s\r\nlink sid: %s\r\n+----------+\r\n", $sLinkUrl, $sLinkHtml, $sSid))
_IENavigate($oIE, $_sUrl & "/index.cgi?index=44&sid="&$sSid)
_IELoadWait($oIE)
$oInputs = _IETagNameGetCollection ($oIE, "a")
$file=_IETagNameGetCollection ($oIE, "a")
$str=StringRegExpReplace($file,'(?si).*?\<td\>((?:(?!\<\td\>).)+)\<\td\>).*','\1')
MsgBox(32,'',$file)
ExitLoop
EndIf
Next
EndIf
EndFunc ;==>_IEAutoLogin
хотелось бы что бы выполнялось все в фоне и не видимо для пользователя
и вытащить нужно данные из верхней таблицы "Предоплата" - Тип 0: , Всего и Осталось в сообщение в трее