Powershell调用WebRequest-收集指定的数据
我试图从打印机的网页收集打印的总页数。脚本可以Powershell调用WebRequest-收集指定的数据,powershell,network-printers,Powershell,Network Printers,我试图从打印机的网页收集打印的总页数。脚本可以 加载登录页面 导航到维护子页面 选择包含所需数据的列 但是,我不知道如何调整脚本以只捕获我需要的数字 $R=Invoke-WebRequest http://1.2.3.4/status.html -SessionVariable session1 #B553 - name w Html $R.Forms[0].Fields["B553"]="login" $R.Forms[0].Fields["password"]="password" $I
$R=Invoke-WebRequest http://1.2.3.4/status.html -SessionVariable session1
#B553 - name w Html
$R.Forms[0].Fields["B553"]="login"
$R.Forms[0].Fields["password"]="password"
$Invoke1=Invoke-WebRequest -Uri ("http://1.2.3.4/status.html" + $R.Forms[0].Action) -WebSession $session1 -Method POST -Body $R.Forms[0].Fields
Start-Sleep -s 5
$Invoke2=Invoke-WebRequest 'http://1.2.3.4/Maintance-sub-page' -WebSession $session1
$Invoke2.AllElements | where tagname -EQ "dd" | Select innerText
结果如下:
$Invoke2.AllElements | where tagname -EQ "dd" | Select innerText
- 在屏幕上。但我要找的输出应该是“打印的总页数23513”
看起来Powershell中的结果与HTML页面上的结果顺序相同。这些结果看起来有点像一个数组,而且(如果我算对的话),看起来你想要的字段是23(数组从0开始) 试试下面的方法
$($Invoke2.AllElements | where tagname -EQ "dd" | Select innerText)[23]
谢谢你,亚当!再次强制转换变量后,它返回我要查找的结果:)innerText-----23527pages@Bah好极了您是否介意单击答案旁边的复选标记将其标记为成功。通过这种方式,遇到此线程的其他人知道这解决了您的问题。