18

在 PowerShell 3.0 中使用以下代码时

PS> $data = Invoke-Webrequest -Uri stackoverflow.com
PS> $data.ParsedHtml.getElementsByTagName("div")

我收到这个警告:

Windows 安全警告 - 为了允许本网站为您提供个性化信息,您是否允许它在您的计算机上放置一个小文件(称为 cookie)?

我真的很想禁止显示此消息或添加处理 cookie的代码,以便可以安排代码。

我曾尝试在 IE 中信任该站点,允许使用 cookie,甚至降低“用户帐户控制设置”,但无济于事。

4

2 回答 2

23
$data = Invoke-WebRequest http://stackoverflow.com -UseBasicParsing

它看起来像一个 Internet Explorer 提示,这是因为 Invoke-WebRequest 可能正在使用 Internet Explorer 解析 DOM。当您使用-UseBasicParsing参数时,您指示 PowerShell 使用其自己的解析器。出于某种原因,它似乎也隐藏了 cookie 提示。

于 2014-04-01T14:37:24.470 回答
3

可以通过放松 Internet 选项中的隐私设置来隐藏该消息在此处输入图像描述

您也可以只为您在脚本中使用的站点添加每个站点的隐私选项,而不是允许所有 cookie。

-UseBasicParsing您将保留 Internet Explorer 提供的解析相反。(以放松安全为代价)

于 2015-02-14T16:07:20.807 回答