HTML表中的Powershell变量一个值

时间:2018-07-24 13:58:00

标签: html powershell

我是Power Shell(HTML)的初学者,我需要一些帮助。我想从McAfee website获取一个变量。在此页面中,有一个表,您可以在其中下载最新的.dat文件。

我只需要第一个表的版本号-现在是8963(下载V2病毒定义更新(DAT)),并且此结果需要保存在变量中,因为我想将其与另一个脚本中的其他变量进行比较。 现在,我可以使用所有数据查询所有表:

$r = Invoke-WebRequest -Uri https://www.mcafee.com/enterprise/en-us/downloads/security-updates.html
$r.parsedhtml.getelementsbytagname("TR") |
% { ( $_.children | ?{ $_.tagName -eq "td"} | % innerText ) } 
Write-Host

不幸的是,这对我来说是太多信息,因为列出了表中的所有数据。

图中检索的数据:data

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这不是最干净的方法,但是如果您希望始终输入的第一个条目是提供所需.exe文件名的条目,则可以使用以下方法:

($r.parsedhtml.getelementsbytagname("TR") |% { ( $_.children | ?{ $_.tagName -eq "td"} | % innerText ) } | Select-Object -First 1).Split('xdat')[0]

这基本上是获取查询的第一个字符串,在xdat的位置拆分字符串,然后获取xdat之前的所有内容。

输出为8963

如果您想以更正确的方式进行操作,则应注意寻找要过滤的正确html属性。