无法使用getelementsbyid登录网站

时间:2016-11-27 03:25:58

标签: powershell

在整个stackoverflow和google中搜索,有一种常见的登录网站的方式 - 但我试图登录的网站,这不起作用

典型代码:

$username = 'username'
$password = 'password'

$ie = new-object -comobject internetexplorer.application
$ie.visible=$true
$ie.navigate("example.com")

$usernamefield = $ie.document.getelementsbyid("username")
$usernamefield.value("$username")

$usernamefield = $ie.document.getelementsbyid("password")
$usernamefield.value("$password")

$link = $ie.documents.getelementsbyid("login") 
$link.click()

这对我的特定网站不起作用,因为当我检查网站时,这些部分中没有“id”。

这是出现的内容: 对于用户元素:

<input type="text" name="username" maxlength="96" size="20" value="" class="input">

对于密码元素:

<input type="password" name="password" maxlength="40" value="" class="input">

登录按钮:

<input type="image" src="data:image/webp;b" alt="Sign In" title=" Sign In ">

是否有其他方法可以填充用户名&amp;密码字段,以及点击“登录”按钮的另一种方式?或者是否有某种方法可以找到这些元素的ID? (因为我想他们必须有一个id)

1 个答案:

答案 0 :(得分:0)

您可以尝试设置名称为

的值
$ie.Document.getElementsByName("username") | %{$_.value = "test"}

和登录:

($ie.Document.getElementsByTagName("input")) | ?{$_.type -eq "image"}|%{$_.click()}

希望这会有所帮助

相关问题