Кнопка PowerShell не нажата - PullRequest
0 голосов
/ 30 апреля 2018

Я хочу нажать на эту кнопку: (Google.com)

<input value="Google-Suche" aria-label="Google-Suche" name="btnK" type="submit" jsaction="sf.chk">

Это мой код:

$ie = New-Object -Com InternetExplorer.Application
$ie.Visible = $true
$ie.navigate("http://google.com")
Start-Sleep 5
$ie.Document.IHTMLDocument3_getElementById("lst-ib").value = $Keywords
$Link = $ie.Document.getElementsByTagName("input") | Where-Object {$_.name -eq "btnK"}
$Link.Click()

Если я запускаю его, все работает нормально, но не нажимает кнопку. Однако, если я вручную выполню $Link.Click(), это сработает.

Есть идеи, как это исправить? Или в моем кодексе есть недостатки? Я не получаю сообщений об ошибках. Я уже пытался поставить Start-Sleep 10 перед нажатием кнопки, но это тоже не работает.

PS: я использую Google только для тестирования. Этот код будет для другого сайта, но я не могу получить к нему доступ в данный момент.

1 Ответ

0 голосов
/ 30 апреля 2018

Вы должны спать, когда то есть заняты. Это работает для меня:

$ie = New-Object -Com InternetExplorer.Application
$ie.Visible = $true
$ie.navigate("http://google.com")
while($ie.Busy) { Start-Sleep -Milliseconds 100 }
$ie.Document.IHTMLDocument3_getElementById("lst-ib").value = "cheesecake"
$Link = $ie.Document.getElementsByTagName("input") | Where-Object {$_.name -eq "btnK"}
$Link.Click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...