Utiliser Internet Explorer avec Powershell

Pour scripter des taches sur des sites web avec Internet Explorer.
Voici quelques astuces.

Tout d’abord lancer une page.

$ie = New-Object -COMObject InternetExplorer.Application
$ie.visible = $true
$ie.Navigate('http://my-powershell.fr')
While ($ie.Busy) { Start-Sleep -Milliseconds 400 }

Afficher la liste des images

$ie.document.getElementsByTagName('img') | Select-Object -ExpandProperty src

Afficher la liste des liens

$ie.document.getElementsByTagName('a') | Select-Object -ExpandProperty href

Cliquer sur un lien.

$link = $ie.Document.getElementsByTagName('a') | where-object {$_.title -eq 'Linkedin'}
$link.click()

Si vous souhaitez télécharger un document, une image ou un tout autre type de fichier, il faut charger le module « BitsTransfer » qui vous donnera accès a toute une série de cmdlets.

Import-Module BitsTransfer
Get-Command -Module BitsTransfer

CommandType     Name                                                Definition
-----------     ----                                                ----------
Cmdlet          Add-BitsFile                                        Add-BitsFile [-BitsJob]  [-Source]  [-V...
Cmdlet          Get-BitsTransfer                                    Get-BitsTransfer [[-Name] ] [-AllUsers...
Cmdlet          Remove-BitsTransfer                                 Remove-BitsTransfer [-BitsJob]  [-Ver...
Cmdlet          Resume-BitsTransfer                                 Resume-BitsTransfer [-BitsJob]  [-Asy...
Cmdlet          Set-BitsTransfer                                    Set-BitsTransfer [-BitsJob]  [-Displa...
Cmdlet          Start-BitsTransfer                                  Start-BitsTransfer [-Source]  [[-Desti...
Cmdlet          Suspend-BitsTransfer                                Suspend-BitsTransfer [-BitsJob]  [-Ve...

Et donc pour télécharger un document.

Start-BitsTransfer -Source 'http://my-powershell.fr/plus.png' -Destination 'c:\images\'

Avec tous ces éléments il est possible de scripter le téléchargement quotidien d’un fichier sur un site web, le téléchargement rapide toutes les images d’une page ou toute autres idées tordues.
D’autres infos.

1 réflexion sur « Utiliser Internet Explorer avec Powershell »

  1. Cédric C.

    Bonjour, comment faire pour lancer un téléchargement si le lien ne pointe pas directement sur un fichier ?
    Imaginons que la page Google.fr, par exemple, propose un téléchargement lorsqu’on l’ouvre. Avec BitsTransfer, cela provoquerait une erreur en indiquant cette page comme Source.

    Merci de votre aide.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *