【发布时间】:2021-06-26 21:29:02
【问题描述】:
我有一个表,我正在尝试使用 powershell 添加更多行,然后将其导出为新的 HTML 文件。
这是我尝试添加行的 HTML 的正文。
<BODY>
<TABLE style="WIDTH: 100%" cellPadding=5>
<TBODY>
<TR>
<TH>Bruger</TH>
<TH>Windows</TH>
<TH>Installations dato</TH>
<TH>Model</TH>
<TH>Sidst slukket</TH></TR>
<TR>
<TD>Users name</TD>
<TD>Windows 10 Pro</TD>
<TD>23-01-2020</TD>
<TD>ThinkPad</TD>
<TD>7 dage</TD></TR></TBODY></TABLE>
<TABLE>
<TBODY></TBODY></TABLE></BODY>
我想我需要更改一个对象的内部 html,但它只是抛出一个错误。 这是我的代码
$src = [IO.File]::ReadAllText($outPath)
$doc = New-Object -com "HTMLFILE"
$doc.IHTMLDocument2_write($src)
$elm = $doc.getElementsByTagName('tr')[0]
$elm.innerHTML = "<TR>New row!</TR>"
当我检查内部 html 变量时,我得到了我期望的 HTML 输出,所以它抓取了正确的对象,但无论出于何种原因,我都无法为其分配任何东西。
这是错误
Exception from HRESULT: 0x800A0258
At line:1 char:1
+ $elm.innerHTML = "<TH>User</TH>"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
【问题讨论】:
-
在这种情况下最好从源头更改数据。该网站可能会接收某种结构化数据,然后转换为 html。仅供参考,转换为 html 比从 html 更容易。强烈建议您在另一端解决此问题。
标签: html powershell com