Я практикуюсь с PowerShell, и сегодня я подумал, что напишу скрипт, который регистрирует меня на веб-сайте. Мне не нужен этот конкретный пример, но я подумал, что это будет хорошая практика. Я создал его, ссылаясь на this . Вот что у меня есть.
$ie = New-Object -ComObject "InternetExplorer.Application"
$ie.Visible = $true
$username = "my@email"
$password = "password"
$ie.Navigate("https://squirrel.ws/login")
While ($ie.Busy -eq $true) {Start-Sleep -Seconds 3;}
$usernameField = $ie.Document.getElementByID('UserEmail')
$usernameField.value = $username
$passwordField = $ie.Document.getElementByID('UserPassword')
$passwordField.value = $password
$link = $ie.Document.getElementByID('$0')
$link.click()
$ie.Quit()
Когда я запускаю это, окно IE появляется, и почти сразу же закрывается с этой ошибкой:
Method invocation failed because [System.DBNull] does not contain a method named 'click'.
At J:\removingForPrivacy\test.ps1 char:1
+ $link.click()
+ ~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Так что я почти уверен, что он выдает ошибку либо при попытке щелкнуть мышью, либо потому, что я пометил кнопку неправильно, либо и то, и другое. При попытке создать это я не смог найти идентификатор для кнопки, поэтому я использовал то, что смог найти. В противном случае я не уверен, почему click()
не существует, когда это во всех примерах, которые я вижу. Кто-нибудь может мне помочь?