J'essaie de créer un planificateur de tâches pour obtenir un lien d'intégration d'un site Web toutes les heures et j'utilise powershell pour récupérer l'information de web.invoke-webrequest, New-Object -ComObject "InternetExplorer.Application et New-Object net.webclient
$ie = New-Object -ComObject "InternetExplorer.Application"
$ie.navigate("https://servicenow.xxx.com/textsearch.do?sysparm_search=b096b923-92c5-47ad-9a7c-1657847970a6"
while($ie.Busy) {start-sleep -Milliseconds 1000}
$doc = $ie.document.body.getElementsByClassName("formlink") | select href
cela peut me aider à obtenir l'information. Mais cela doit être dans l'interface utilisateur. est-ce que pas si elle est exécutée en tant que back-end (planificateur de tâches)
$test = Invoke-WebRequest -Uri https://servicenow.xxx.com/textsearch.do?sysparm_search=b096b923-92c5-47ad-9a7c-1657847970a6
$test.ParsedHtml.body
#or
$test.ParsedHtml.all
Invoke-WebRequest didnot montrent à reconstituer si info je cherche la chaîne est dans outerHTML Le nom de classe appelé Formlink seulement se trouve dans via " New-Object -ComObject "InternetExplorer.Application".
$webclient = New-Object net.webclient
$webclient.DownloadString("https://servicenow.xxx.com/textsearch.do?sysparm_search=b096b923-92c5-47ad-9a7c-1657847970a6")
va de même pour net.webclient
Pourquoi est-ce donc ??
l'info i besoin est outerHTML avec New-Object -ComObject "InternetExplorer.Application"
<td title="" class="vt" style="direction: ltr;" colspan="1"
data-original-title=""><a class="linked formlink" href="u_event.do?sys_id=7435d8a0db3b36c020fffd051d961919&sysparm_record_target=incident&sysparm_record_row=1&sy
sparm_record_rows=1&sysparm_record_list=123TEXTQUERY321%253Db096b923-92c5-47ad-9a7c-1657847970a6">INC18701854</a></td>
==================== =========== Mise à jour Boyd @ Jason: J'ai essayé avec chaque en-tête de demande, il n'a toujours pas la sortie
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)
X-P2P-PeerDist: Version=1.1
Accept-Encoding: gzip, deflate, peerdist
Connection: Keep-Alive
Accept: */*
Host: servicenow.xxx.com
X-P2P-PeerDistEx: MinContentInformation=1.0, MaxContentInformation=2.0
Cache-Control: no-cache
Accept-Language: en-US, en; q=0.8, zh-Hans-SG; q=0.5, zh-Hans; q=0.3
Et il y a une chose, lors de l'exécution
Invoke-WebRequest -Uri https://servicenow.xxx.com/textsearch.do?sysparm_search=b096b923-92c5-47ad-9a7c-1657847970a6
IE n'a pas ouvert le lien complet, il directement à la page d'accueil. https://servicenow.xxx.com/navpage.do
Notez qu'il a iframe (même URL toutes les pages) dans le code source.
Que puis-je essayer d'autre?
Salut, Merci pour notre suggestion. J'ai essayé chaque en-tête de demande, C'est toujours la même sortie. – Jimmy