Это действительно просто, если вы знаете, какой элемент нужен. Например, посмотрите это обсуждение вопросов и ответов StackOverflow, так как оно будет похоже на то, что вам нужно, и немного больше.
Заполните имя пользователя / пароль на веб-странице с помощью Powershell
Перемещение элементов формы сайта, а не элементов Inte rnet Explorer
$url = 'https://pwpush.com'
($FormElements = Invoke-WebRequest -Uri $url -SessionVariable fe)
<#
StatusCode : 200
StatusDescription : OK
Content : <!DOCTYPE html>
<html>
...
#>
($Form = $FormElements.Forms[0]) |
Format-List -Force
<#
Id : new_password
Method : post
Action : /p
Fields : ...}
#>
$Form |
Get-Member
<#
TypeName: Microsoft.PowerShell.Commands.FormObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Action Property string Action {get;}
Fields Property System.Collections.Generic.Dictionary[string,string] Fields {get;}
Id Property string Id {get;}
Method Property string Method {get;}
MSDN ScriptMethod System.Object MSDN();
#>
$Form.Fields
<#
Key Value
--- -----
utf8 ✓
authenticity_token 2mebmGbAJsseDW+/TeTBXAelq1s8kH5Zgb6W14Pxtba6CyWsAM4SfVqdJWdVmu5HjxIGUCWjEGhy6fLTB38UhA==
password_payload Enter the Password to be Shared
password_expire_after_days 7
password_expire_after_views 5
password_deletable_by_viewer on
commit Push it
# so you end up here
Clear-Host
$password = '1234'
$loginUrl = 'https://pwpush.com'
$ie = New-Object -com internetexplorer.application
$ie.visible = $true
$ie.navigate($loginUrl)
while ($ie.Busy -eq $true) { Start-Sleep -Seconds 1 }
($ie.document.getElementById('password_payload') | select -first 1).value = $password
Start-Sleep -Seconds 1
$ie.Document.getElementsByName('commit').Item().Click();
Start-Sleep -Seconds 1