Мне удалось прочитать динамическую информацию с веб-сайта по второй ссылке (закомментировано в коде ниже).Если я раскомментирую вторую строку, она будет работать нормально, и я получу нужную информацию.Если я использую первую ссылку, она не работает;генерируемый файл имеет размер 0 байт.
В первый раз вам может понадобиться нажать какую-нибудь кнопку и снова запустить скрипт (зависит от браузера).Так как же получить желаемый результат?Мне нужен ETA, тот, что вверху: Arrival">ETA</a> : March 23, 2019 </td></tr> </table>
.
_RSSGetInfo()
тоже не работал (грузоотправитель указывает, что это RSS-лента XML, но я не знаю, является ли этоправильная вещь, она дала мне пробел):
#include <MsgBoxConstants.au3>
#include <IE.au3>
#include <Array.au3>
#include <Date.au3>
#include <String.au3>
#include <Excel.au3>
#include <WinAPIFiles.au3>
#include-once
#region _RSS
; RSS Reader
; Created By: Frostfel
#include <INet.au3>
#include <Array.au3>
; ============================================================================
; Function: _RSSGetInfo($RSS, $RSS_InfoS, $RSS_InfoE[, $RSS_Info_ = 1])
; Description: Gets RSS Info
; Parameter(s): $RSS = RSS Feed Example: "http://feed.com/index.xml"
; $RSS_InfoS = String to find for info start Example: <title>
; $RSS_InfoE = String to find for info end Example: </title>
; $RSS_Info_Start = [optional] <info>/</info> To start at
; Some RSS feeds will have page titles
; you dont want Defualt = 0
; Requirement(s): None
; Return Value(s): On Success - Returns RSS Info in Array Starting at 1
; On Failure - Returns 0
; @Error = 1 - Failed to get RSS Feed
; Author(s): Frostfel
; ============================================================================
Func _RSSGetInfo($RSS, $RSS_InfoS, $RSS_InfoE, $RSS_Info_Start = 0)
$RSSFile = _INetGetSource($RSS)
If @Error Then
SetError(1)
Return -1
EndIf
Dim $InfoSearchS = 1
Dim $Info[1000]
Dim $InfoNumA
$InfoNum = $RSS_Info_Start
While $InfoSearchS <> 6
$InfoNum += 1
$InfoNumA += 1
$InfoSearchS = StringInStr($RSSFile, $RSS_InfoS, 0, $InfoNum)
$InfoSearchE = StringInStr($RSSFile, $RSS_InfoE, 0, $InfoNum)
$InfoSearchS += 6
$InfoSS = StringTrimLeft($RSSFile, $InfoSearchS)
$InfoSearchE -= 1
$InfoSE_Len = StringLen(StringTrimLeft($RSSFile, $InfoSearchE))
$InfoSE = StringTrimRight($InfoSS, $InfoSE_Len)
_ArrayInsert($Info, $InfoNumA, $InfoSE)
WEnd
Return $Info
EndFunc
#endregion
$Link = "http://wcf.mscgva.ch/publicasmx/Tracking.asmx/GetRSSTrackingByContainerNumber?ContainerNumber=MSCU4727397"
$Test1 = _RSSGetInfo($Link, "<channel>", "</channel>", 1)
MsgBox(0, "Test", $Test1)