Je dois faire défiler la page jusqu'au bouton SUIVANT . Seul le bouton SUIVANT est visible sur lequel il est possible de cliquer. Je dois donc afficher le défilement pour qu'il fonctionne.
$browser = Start-SeChrome
$browser.Navigate().GoToURL($url)
ForEach ($A_Element in (Find-SeElement -Driver $browser -TagName a))
{
If ($A_Element.Text -Notlike "Next"){Conitnue}
$A_Element.ScrollIntoView()
#Invoke-SeClick -Element $A_Element
#$A_Element.Click()
sleep 2
Break
}
3 Réponses :
Vous pouvez essayer d'exécuter le code javascript pour le défilement:
((IJavaScriptExecutor)driver).ExecuteScript("document.querySelector(arguments[0]).scrollIntoView();", A_Element);
exécutez ce code js sur votre élément. En c #, cela ressemble à ceci:
document.scrollIntoView();
document.scrollIntoView () ne fonctionne pas. Dans tous les cas, le document n'est pas défini et il ne fait pas référence à la position à atteindre. L'autre commande que vous avez publiée est une commande C #. Je recherche de l'aide sur Powershell, pas sur c #
J'ai peur qu'il y ait quelque chose qui s'appelle ScrollIntoView pour PowerShell. Cependant, il existe des moyens de faire défiler vers le bas. Vous pouvez utiliser l'une des deux méthodes ci-dessous:
Pour appuyer 10 fois sur la flèche vers le bas:
[int]$horizontalLoc=0 [int]$verticalLoc= 90 browser.Document.parentWindow.scroll($horizontalLoc,$verticalLoc)
Pour faire défiler jusqu'à un emplacement particulier:
[System.Windows.Forms.SendKeys]::SendWait({{DOWN 10}})
J'ai dû charger "[void] [System.Reflection.Assembly] :: LoadWithPartialName (" System.Wi ndows.Forms ")" puis j'ai exécuté "[System.Windows.Forms.SendKeys] :: SendWait ({{DOWN 10}}) "mais la page Chrome ne défile PAS. Pour la commande "$ browser.Document.parentWindow.scrollto ($ horizontalLoc, $ ver ticalLoc)" j'obtiens une erreur "Vous ne pouvez pas appeler une méthode sur une expression de valeur nulle"
Votre page peut-elle défiler? essayez également une fois browser.parentwindow.scroll (0, $ oIE.document.body.scrollHeight), il défilera jusqu'en bas de page.
En fonction de la conception de votre page Web, vous pouvez essayer d'exécuter du code JavaScript dans votre code PowerShell en essayant ceci:
$browser.ExecuteScript("document.scrollTo($($A_Element.Location.X),$($A_Element.Location.Y))")
Vous pouvez essayer quelque chose comme:
$browser.ExecuteScript("javascript code goes here").