0
我有着相似的結構化的HTML文件的目錄(給出兩個例子):返回一個HTML div的內容使用PowerShell
文件的1.HTML
<html>
<body>
<div class="foo">foo</div>
<div class="bar"><div><p>bar</p></div></div>
<div class="baz">baz</div>
</body>
</html>
文件的2.HTML
<html>
<body>
<div class="foo">foo</div>
<div class="bar"><div><p>apple<br>banana</p></div></div>
<div class="baz">baz</div>
</body>
</html>
我想創建一個PowerShell腳本返回bar
div的內容,從所有的HTML剝離:
對於文件1.HTML:bar
對於文件2.HTML:apple banana
我現在有:
$directory = "C:\Users\Public\Documents\Sandbox\HTML"
foreach ($file in Get-ChildItem($directory))
{
$content = Get-Content "$directory\$file"
echo $content.ParsedHtml.getElementById("bar").innerHTML
}
這將返回一個錯誤:
You cannot call a method on a null-valued expression.
At C:\Users\Public\Documents\Sandbox\parse-html.ps1:9 char:2
+ echo $content.ParsedHtml.getElementById("bar").innerHTML`
我不明白此錯誤,因爲bar
是存在的HTML元素。
我在做什麼錯?
沒有$內容具有價值?該錯誤告訴您,您正在調用方法的變量爲空 – Paul 2014-10-20 12:36:13
是的,當我執行'echo $ content'時,將返回File-1.html的HTML。 – Pr0no 2014-10-20 12:39:26
ok $ content.ParsedHtml怎麼樣? – Paul 2014-10-20 12:41:27