Powershell internetexplorer.application不更新innerHTML

时间:2018-04-09 01:48:15

标签: javascript html powershell internet-explorer

我正在尝试从TP-Link路由器网页获取一些信息。

我成功登录。但在我登录后,我尝试打印innerhtml,并在登录页面显示相同的内容。问题是当我按下登录时,我被重定向到另一个索引页面。我尝试使用navigate2函数转到这个索引页面。可悲的是,我刚刚注销并显示登录页面。

我的代码是:

# Create instance of InternetExplorer
$ie = new-object -com internetexplorer.application
$ie.visible = $true
$username = "XXXXXXX"
$password = "XXXXXXX"
$ie.Navigate2("http://192.168.0.1")

while($ie.Busy) {Start-Sleep 1}

# load JQuery
$ie.Document.body.innerHTML = $ie.Document.body.innerHTML + "<div id=`"a`" onclick=`"var th = document.getElementsByTagName('body')[0];var s = document.createElement('script');s.setAttribute('type','text/javascript');s.setAttribute('src','https://code.jquery.com/jquery-3.3.1.min.js');th.appendChild(s);`">hello</div>"

Write-Host $ie.Document.body.innerHTML

# This works - login sequence
$UserNameField = $ie.Document.getElementById('userName')
$UserNameField.value = "$username"
$PassField = $ie.Document.getElementById('pcPassword')
$PassField.value = "$password"

$ie.Document.getElementById("loginBtn").click()

#This output is the same as the previous one. But if I inspect the page it is different html.
Write-Host $ie.Document.body.innerHTML

是否有任何方法可以保持HTML数据的最新状态,您可以采用哪种方式检查&#39;你的浏览器?

0 个答案:

没有答案