使用 Powershell 在 IE 中写入 TextArea

Posted

技术标签:

【中文标题】使用 Powershell 在 IE 中写入 TextArea【英文标题】:Write into TextArea in IE with Powershell 【发布时间】:2018-10-25 20:48:15 【问题描述】:

我创建了一个 html 文件,将其加载到 IE 中,现在我想向 HTML 页面中包含的 TextArea 添加行。

<FORM NAME="driver">
   <textarea cols="100" name="Protocol" rows="20"></textarea></p>
   <input name="Mail_Folder" type="text" />
   <input name="CloseApp"    type="button" value="Exit"                 onclick="CloseLoop()" />
   <input name="FormatText"  type="button" value="Process Excel Sheet"  onclick="ProcessExcel()" />
   <input type="hidden" name="Loop" value="TRUE">
</FORM>

现在我将这个 HTML 文件与代码一起使用:

$ie = new-object -com "InternetExplorer.Application
$ie.navigate2($GuiFile)
$ie.Visible = $true

然后我在表格中写入:

$ie.Document.getElementById("Protocoll").value = "Text"

这很好用。但是,当我使用“\n”、“\r\n”或 时,我无法插入新行,什么也没有,它按字面意思显示。 我错过了什么?

非常感谢您的每一个提示。 你的, 埃里克

【问题讨论】:

按照这个问题尝试&amp;#10;&amp;#13;:***.com/questions/39325414/… 【参考方案1】:

不。 当我使用 javascript 写入文本区域时,这很好用。 当我使用 Powershell 和 DOM 时,文本被解释为纯文本。 我在文本区看到:

TRUE&#10;&#13;NO ACTION&#10;&#13;TRUE&#10;&#13;NO ACTION&#10;&#13;

另一种可能性是让它用 javascript 写入并从 powershell 调用 javascript 函数。但这有点棘手。

【讨论】:

另一个有点“愚蠢”但可行的方法是定义一个与文本字段一样长的字符串,来自参数“cols”的信息,因此我不写换行符,但它似乎就像它在那里一样。

以上是关于使用 Powershell 在 IE 中写入 TextArea的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PowerShell 中使用 tar 和 tee 进行一次读取、多次写入、原始文件副本

如何将所有输出流写入 PowerShell 中的变量?

在 PowerShell 中,如何将错误、警告、写入主机输出捕获到单个文件中?

Powershell写入第一行但无法将后续行写入for循环中的文件

如何在 PowerShell 中将计算值写入 SQL INSERT/UPDATE

让 powershell 进入 ie 类,并在 ui 测试期间截取 ie 窗口的屏幕截图