Что нового

Результат поиска в программе

Автор
A

Alexander

Новичок
Сообщения
105
Репутация
2
Раз они разные, интересуют все формы :smile:
http://app3.hongkongpost.com/CGI/mt/enquiry.jsp
Запрос примерно такой: EE123456789HK
Ответ примерно такой:
"The item (RХxxxxxxxxxHK) was posted on dd-MMM-YYYY and is being processed for delivery to the addressee"

http://www.ukrposhta.com/www/upost.nsf/search_post?openpage
Запрос примерно такой: 0123456789123
Ответ:
Відправлення за номером 0123456789123 вручене адресату (одержувачу) особисто 07.05.2010 об’єктом поштового зв’язку *** з індексом *****.

http://www.lightake.com/ordertracking.do
Ввести e-mail и номер.
Ответ:
5/17/2010 5:47:51 AM Instant Order Received Order has been received
5/17/2010 9:05:12 AM Collecting Products Now Processing.

Не знаю какую еще можно дать информацию ;)
 
Автор
A

Alexander

Новичок
Сообщения
105
Репутация
2
Не дождался и сделал кое-что сам ;D

http://www.lightake.com/ordertracking.do
Код:
#include <IE.au3>
$oIE = _IECreate ("http://www.lightake.com/ordertracking.do", 0, 0)
$oForm = _IEFormGetObjByName ($oIE, "aspnetForm")
$PaypalEmail = _IEFormElementGetObjByName ($oForm, "_ctl0:MainBody:_ctl1:payemail")
$Ordernumber = _IEFormElementGetObjByName ($oForm, "_ctl0:MainBody:_ctl1:ordernumber")
$viewStatus = _IEFormElementGetObjByName ($oForm, "_ctl0:MainBody:_ctl1:btnSearch")
_IEFormElementSetValue ($PaypalEmail, "proverka")
_IEFormElementSetValue ($Ordernumber, "proverka")
_IEAction ($viewStatus, "click")


http://app3.hongkongpost.com/CGI/mt/enquiry.jsp
Код:
#include <IE.au3>
$oIE = _IECreate ("http://app3.hongkongpost.com/CGI/mt/enquiry.jsp", 0, 0)
$oForm = _IEFormGetObjByName ($oIE, "form2")
$oQuery = _IEFormElementGetObjByName ($oForm, "tracknbr")
$o_signin = _IEFormElementGetObjByName ($oForm, "submit")
_IEFormElementSetValue ($oQuery, "EE123456789HK")
_IEAction ($o_signin, "click")


Вопросы:
1. Как читать ответ??? Я знаю как читать весь HTML код, но не знаю как читать нужный фрагмент.
2. Этот скрипт не получается:
http://www.ukrposhta.com/www/upost.nsf/search_post?openpage
Код:
#include <IE.au3>
_IECreate ("http://80.91.187.254:8080/servlet/SMCSearch2?barcode=" & $number & "&lang=ua")
$number= ; тут вводить номер
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Alexander [?]
2. Этот скрипт не получается:
Код:
#include <IE.au3>
Dim $number = '0123456789123'
_IECreate ("http://80.91.187.254:8080/servlet/SMCSearch2?barcode=" & $number & "&lang=ua")

Не знаю, что у вас не получается, но всё работает. ;)
Если вы запускаете скрипт точно такой, который привели, то не удивительно.
Переменные нужно объявлять заранее.

Я набросал вам небольшой код, но, каждый раз анализируя ваш пост, постоянно его дорабатывал, предвидя многие вопросы, и думаю, что всё же многое не учёл ;D
Однако, то, что вы не сидели, сложа руки, :reading_book: делает вам честь!

Вот код, правда он сырой и требует доработки "напильником". :smile:
Можно по аналоги сделать с применением InternetExplorer.Application.1 но код тогда получится сложнее.
Код:
;~ http://www.lightake.com/ordertracking.do
;~ http://app3.hongkongpost.com/CGI/mt/enquiry.jsp
;~ http://www.ukrposhta.com/www/upost.nsf/search_post?openpage

#include <IE.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Dim $aData[3][2] =	[ _ 
					["http://app3.hongkongpost.com/CGI/mt/enquiry.jsp","EE123456789HK"], _ 
					["http://www.lightake.com/ordertracking.do","128976918623"], _ 
					["http://www.ukrposhta.com/www/upost.nsf/search_post?openpage","0123456789123"] _ 
					]
Dim $i = 0

$oIE = _IECreate("",0,0)

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 462, 192, 114)
$Edit1 = GUICtrlCreateEdit("", 8, 8, 617, 377, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
GUICtrlSetData(-1, "")
$Button1 = GUICtrlCreateButton("Submit", 552, 400, 75, 25, 0)
$Combo1 = GUICtrlCreateCombo(" ---------- select address -----------", 8, 402, 537, 25)
_ComboSetData(-1, $aData)
$Input1 = GUICtrlCreateInput("", 8, 432, 241, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			_IEQuit($oIE)
			Exit
		Case $Button1
			$sAddress = GUICtrlRead($Combo1)
			$sKey = GUICtrlRead($Input1)
			If $sKey <> "" Then
				_Search($sAddress, $sKey)
			EndIf
		Case $Combo1
			$sResult = GUICtrlRead($Combo1)
			_IsertKey($sResult)
		
	EndSwitch
WEnd

Func _Search($sAddress,$sKey)
	
	Switch $sAddress
		Case $aData[0][0]
		_IENavigate($oIE, $sAddress)
			app3_hongkongpost_com($aData[0][1])
		Case $aData[1][0]
			_IENavigate($oIE, $sAddress)
			www_lightake_com()
		Case $aData[2][0]
			_IENavigate($oIE, $sAddress)
			www_ukrposhta_com()
	EndSwitch
		
EndFunc

Func _IsertKey($sAddress)

	For $i = 0 To UBound($aData)-1
		If $aData[$i][0] = $sAddress Then
			GUICtrlSetData($Input1, $aData[$i][1])
			ExitLoop
		Else
			GUICtrlSetData($Input1, "")
		EndIf
	Next
EndFunc

Func _ComboSetData($Ctrl, $aData)
	For $i = 0 To UBound($aData)-1
		GUICtrlSetData($Ctrl, $aData[$i][0] & "|")
	Next
EndFunc

Func app3_hongkongpost_com($sKey)
	$oInput = _IEGetObjById($oIE, 'tracknbr') 
	$oSubmit = _IEGetObjById($oIE, 'submit')
	_IEFormElementSetValue ($oInput, $sKey)
	_IEAction ($oSubmit, "click")
	GUICtrlSetData($Edit1, "Загрузка...")
	_IELoadWait ($oIE)
	$oContent = _IEGetObjById($oIE, 'clfContent')
	$oResps = _IETagNameGetCollection($oContent, 'p', 3)
	GUICtrlSetData($Edit1, _IEPropertyGet($oContent, 'innerText'))
EndFunc

Func www_ukrposhta_com()
	
EndFunc

Func www_lightake_com()
	
EndFunc
 
Автор
A

Alexander

Новичок
Сообщения
105
Репутация
2
Спасибо большое! Это то, что я хотел! :beer:
Если не трудно, можешь поправить:
1. Там, где вводить номер. Эту строчку я сделал так:
Код:
$Input1 = GUICtrlCreateInput("", 8, 432, 241, 21, $ES_AUTOHSCROLL)

То есть убрал
Код:
$ES_READONLY


Но оно все все равно ищет ищет этот номер:
Код:
Dim $aData[3][2] =  [ _
                    ["http://app3.hongkongpost.com/CGI/mt/enquiry.jsp","EE123456789HK"], _


И не нужно, чтоб оно показывало вообще какие-то номера, только адреса. :smile:
2. Нужно, когда выбираешь функцию lightake, чтоб оно показывало 1 поле для ввода (там где вводить номер), а e-mail - постоянный (не показывая его).

Если не трудно, поправь, пожалуйста :beer:
 

Garrett

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

Dim $aData[3] =	[ _ 
				"http://app3.hongkongpost.com/CGI/mt/enquiry.jsp", _ 
				"http://www.lightake.com/ordertracking.do", _ 
				"http://www.ukrposhta.com/www/upost.nsf/search_post?openpage" _ 
				]

$oIE = _IECreate("",0,0)

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 462, 192, 114)
$Edit1 = GUICtrlCreateEdit("", 8, 8, 617, 377, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
GUICtrlSetData(-1, "")
$Button1 = GUICtrlCreateButton("Submit", 552, 400, 75, 25, 0)
$Combo1 = GUICtrlCreateCombo(" ---------- select address -----------", 8, 402, 537, 25)
_ComboSetData(-1, $aData)
$Input1 = GUICtrlCreateInput("", 8, 432, 241, 21, $ES_AUTOHSCROLL)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			_IEQuit($oIE)
			Exit
		Case $Button1
			$sAddress = GUICtrlRead($Combo1)
			$sKey = GUICtrlRead($Input1)
			If $sKey <> "" Then
				_Search($sAddress, $sKey)
			EndIf
		
	EndSwitch
WEnd

Func _Search($sAddress,$sKey)
	
	Switch $sAddress
		Case $aData[0]
		_IENavigate($oIE, $sAddress)
			app3_hongkongpost_com($sKey)
		Case $aData[1]
			_IENavigate($oIE, $sAddress)
			www_lightake_com($sKey)
		Case $aData[2]
			_IENavigate($oIE, $sAddress)
			www_ukrposhta_com($sKey)
	EndSwitch
		
EndFunc

Func _ComboSetData($Ctrl, $aData)
	For $i = 0 To UBound($aData)-1
		GUICtrlSetData($Ctrl, $aData[$i] & "|")
	Next
EndFunc

Func app3_hongkongpost_com($sKey)
	$oInput = _IEGetObjById($oIE, 'tracknbr') 
	$oSubmit = _IEGetObjById($oIE, 'submit')
	_IEFormElementSetValue ($oInput, $sKey)
	_IEAction ($oSubmit, "click")
	GUICtrlSetData($Edit1, "Загрузка...")
	_IELoadWait ($oIE)
	$oContent = _IEGetObjById($oIE, 'clfContent') ; тут я не могу чего-либо делать, так как не знаю, в какие элементы выполняется вывод информации
	GUICtrlSetData($Edit1, _IEPropertyGet($oContent, 'innerText'))
EndFunc

Func www_ukrposhta_com($sKey)
	$oInput = _IEGetObjByName($oIE, 'barcode') 
	$oSubmit = _IEGetObjById($oIE, 'btnsearch')
	_IEFormElementSetValue ($oInput, $sKey)
	_IEAction ($oSubmit, "click")
	GUICtrlSetData($Edit1, "Загрузка...")
	_IELoadWait ($oIE)
	$oContent = _IETagNameGetCollection($oIE, 'div', 0) ; тут я не могу чего-либо делать, так как не знаю, в какие элементы выполняется вывод информации
	GUICtrlSetData($Edit1, _IEPropertyGet($oContent, 'innerText'))	
EndFunc

Func www_lightake_com($sKey)
	$oInput1 = _IEGetObjById($oIE, '_ctl0_MainBody__ctl1_payemail') 
	$oInput2 = _IEGetObjById($oIE, '_ctl0_MainBody__ctl1_ordernumber') 
	$oSubmit = _IEGetObjById($oIE, '_ctl0_MainBody__ctl1_btnSearch')
	_IEFormElementSetValue ($oInput1, '[email protected]')
	_IEFormElementSetValue ($oInput2, $sKey)
	_IEAction ($oSubmit, "click")
	GUICtrlSetData($Edit1, "Загрузка...")
	_IELoadWait ($oIE)
	$oContent = _IEGetObjById($oIE, 'right') ; тут я не могу чего-либо делать, так как не знаю, в какие элементы выполняется вывод информации
	GUICtrlSetData($Edit1, _IEPropertyGet($oContent, 'innerText'))
EndFunc
 
Автор
A

Alexander

Новичок
Сообщения
105
Репутация
2
Дружище! Спасибо тебе огромное! Это просто супер! То, что я хотел! 8) :beer:
 
Верх