如何通过Invoke-WebRequest访问neteller账户
how to access neteller account by Invoke-WebRequest
我想通过 Invoke-WebRequest 访问我的 neteller 帐户。
我找到了要填写的字段
<input type="password" name="password" id="form-login-password" maxlength="32" placeholder="Password" autocomplete="off" pattern=".*" required="" value="Welcome 123">
我已经试过这段代码了。
$content=Get-Content "$home\Downloads\test log\NETELLER » Signin.html"
$qw=Invoke-WebRequest https://member.neteller.com -Method Post -Body $content -SessionVariable test
文件中有密码和登录名,但问题相同。
我想在登录完成后获取页面。
从评论部分移至更具体的 OP。
至于你的意见...
How can i get the button event and how to use it ?
I have found this
input type="submit" name="btn-login" class="button radius"
value="Sign in" id="btn-login"
有几种方法,但站点及其编码方式实际上阻止了一些自动化操作。所以,我的观点是,他们似乎不希望人们在他们的网站上使用自动化。
点击按钮、链接等,需要浏览器 UI 可见。你似乎想做这个不可见的,但我可能是错的。
综合考虑,有几种方法可以点击。完全取决于网站设计者以及他们提供的可采取行动的内容。这里有一些来自网站的例子,我不得不处理,单个和 multi-page/form 个网站,允许自动化。
# Starting here...
$ie.Document.getElementsByName('commit').Item().Click();
# Or
$ie.document.IHTMLDocument3_getElementsByTagName("button") |
ForEach-Object { $_.Click() }
# Or
($ie.Document.IHTMLDocument3_getElementsByTagName('button') |
Where-Object innerText -eq 'SIGN IN').Click()
# Or
($ie.document.getElementById('submitButton') |
select -first 1).click()
# Or ...
$Link=$ie.Document.getElementsByTagName("input") |
where-object {$_.type -eq "button"}
$Link.click()
# Or ...
$Submit = $ie.document.getElementsByTagName('INPUT') |
Where-Object {$($_.Value) -match 'Zaloguj'}
$Submit.click()
# Or
$ie.Document.getElementById("next").Click()
# Or
$SubmitButton=$Doc.IHTMLDocument3_getElementById('button') |
Where-Object {$_.class -eq 'btn btn-primary'}
$SubmitButton.Click()
# Or
Invoke-WebRequest ("https://portal.concordfax.com/Account/LogOn" +
$R.ParsedHtml.getElementsByClassName("blueButton login").click
这是我的意思的完整示例。
抓取网站以获取对象信息。
$url = 'https://pwpush.com'
($FormElements = Invoke-WebRequest -Uri $url -SessionVariable fe)
($Form = $FormElements.Forms[0]) | Format-List -Force
$Form | Get-Member
$Form.Fields
使用网站上的信息
$IE = New-Object -ComObject "InternetExplorer.Application"
$FormElementsequestURI = "https://pwpush.com"
$Password = "password_payload"
$SubmitButton = "submit"
$IE.Visible = $true
$IE.Silent = $true
$IE.Navigate($FormElementsequestURI)
While ($IE.Busy) {
Start-Sleep -Milliseconds 100
}
$Doc = $IE.Document
$Doc.getElementsByTagName("input") | ForEach-Object {
if ($_.id -ne $null){
if ($_.id.contains($SubmitButton)) {$SubmitButton = $_}
if ($_.id.contains($Password)) {$Password = $_}
}
}
$Password.value = "1234"
$SubmitButton.click()
我想通过 Invoke-WebRequest 访问我的 neteller 帐户。
我找到了要填写的字段
<input type="password" name="password" id="form-login-password" maxlength="32" placeholder="Password" autocomplete="off" pattern=".*" required="" value="Welcome 123">
我已经试过这段代码了。
$content=Get-Content "$home\Downloads\test log\NETELLER » Signin.html"
$qw=Invoke-WebRequest https://member.neteller.com -Method Post -Body $content -SessionVariable test
文件中有密码和登录名,但问题相同。
我想在登录完成后获取页面。
从评论部分移至更具体的 OP。
至于你的意见...
How can i get the button event and how to use it ?
I have found this
input type="submit" name="btn-login" class="button radius" value="Sign in" id="btn-login"
有几种方法,但站点及其编码方式实际上阻止了一些自动化操作。所以,我的观点是,他们似乎不希望人们在他们的网站上使用自动化。
点击按钮、链接等,需要浏览器 UI 可见。你似乎想做这个不可见的,但我可能是错的。
综合考虑,有几种方法可以点击。完全取决于网站设计者以及他们提供的可采取行动的内容。这里有一些来自网站的例子,我不得不处理,单个和 multi-page/form 个网站,允许自动化。
# Starting here...
$ie.Document.getElementsByName('commit').Item().Click();
# Or
$ie.document.IHTMLDocument3_getElementsByTagName("button") |
ForEach-Object { $_.Click() }
# Or
($ie.Document.IHTMLDocument3_getElementsByTagName('button') |
Where-Object innerText -eq 'SIGN IN').Click()
# Or
($ie.document.getElementById('submitButton') |
select -first 1).click()
# Or ...
$Link=$ie.Document.getElementsByTagName("input") |
where-object {$_.type -eq "button"}
$Link.click()
# Or ...
$Submit = $ie.document.getElementsByTagName('INPUT') |
Where-Object {$($_.Value) -match 'Zaloguj'}
$Submit.click()
# Or
$ie.Document.getElementById("next").Click()
# Or
$SubmitButton=$Doc.IHTMLDocument3_getElementById('button') |
Where-Object {$_.class -eq 'btn btn-primary'}
$SubmitButton.Click()
# Or
Invoke-WebRequest ("https://portal.concordfax.com/Account/LogOn" +
$R.ParsedHtml.getElementsByClassName("blueButton login").click
这是我的意思的完整示例。
抓取网站以获取对象信息。
$url = 'https://pwpush.com'
($FormElements = Invoke-WebRequest -Uri $url -SessionVariable fe)
($Form = $FormElements.Forms[0]) | Format-List -Force
$Form | Get-Member
$Form.Fields
使用网站上的信息
$IE = New-Object -ComObject "InternetExplorer.Application"
$FormElementsequestURI = "https://pwpush.com"
$Password = "password_payload"
$SubmitButton = "submit"
$IE.Visible = $true
$IE.Silent = $true
$IE.Navigate($FormElementsequestURI)
While ($IE.Busy) {
Start-Sleep -Milliseconds 100
}
$Doc = $IE.Document
$Doc.getElementsByTagName("input") | ForEach-Object {
if ($_.id -ne $null){
if ($_.id.contains($SubmitButton)) {$SubmitButton = $_}
if ($_.id.contains($Password)) {$Password = $_}
}
}
$Password.value = "1234"
$SubmitButton.click()