我已经使用Invoke-WebRequest将页面拉入变量$ content。然后我将$ content.ParsedHtml.getElementsByTagName的结果分配给另一个变量$ x。 $ x [1]返回几行HTML。但是我无法将HTML行解析为数组。
$content = Invoke-WebRequest -Uri $Uri
$x = $content.ParsedHtml.getElementsByTagName('TR')
$x[1].outerHTML
如果我将HTML写入文本文件,我可以将其读回数组,但我希望跳过这一步。如果有人有任何建议,将非常感激。
答案 0 :(得分:1)
找到了解决方案,但我愿意接受任何替代答案的建议: 这对我有用:
$z = $x[1].innerHTML.ToString() -split([Environment]::NewLine)
感谢所有我收到的输入。
答案 1 :(得分:0)
我尝试了以下似乎有效的方法(我已经包含了我测试过的网址)。
每个<tr>...</tr>
以及标记之间的所有内容都是数组中的一个条目。
基本上只需展开outerHTML并将其转换为数组。
$uri = "https://www.w3schools.com/html/html_tables.asp"
$content = Invoke-WebRequest -Uri $Uri
[array]$x = $content.ParsedHtml.getElementsByTagName('TR') | select -ExpandProperty outerHTML