使用Powershell返回HTML div的内容

问题描述 投票:0回答:1

我有一个类似结构的HTML文件的目录(给出了两个示例):

File-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>

File-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剥离:

对于File-1.html:bar对于File-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元素。

我在做什么错?

html powershell xml-parsing html-parsing
1个回答
0
投票

您可以尝试这样的事情:

© www.soinside.com 2019 - 2024. All rights reserved.