18

When using the following code in PowerShell 3.0

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

I get this warning:

Windows Security Warning - To allow this website to provide information personalized for you, will you allow it to put a small file (called a cookie) on your computer?

I would really like to suppress this message or add code to handle cookies, so the code could be scheduled.

I have tried trusting the site in IE allowing cookies and even lowering the "User Account Control Settings" but with no avail.

Victor Zakharov
  • 25,801
  • 18
  • 85
  • 151
Jack Petri
  • 181
  • 1
  • 1
  • 4

2 Answers2

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

It looks like an Internet Explorer prompt, this is because under the hood Invoke-WebRequest is probably using Internet Explorer to parse the DOM. When you use the -UseBasicParsing parameter you instructing PowerShell to use its own parser. For some reason, it also seems to hide the cookies prompt.

Taylor Gibb
  • 550
  • 3
  • 8
  • 2
    If not using `-UseBasicParsing` (it messes up rest of my script), is there a way to close the Internet Explorer window sessions opened by Invoke-WebRequest? – Eric Furspan May 04 '16 at 13:56
  • -UseBasicParsing changes the web engine to the powershell engine, and as a result you get different data back, including empty properties like .images – az1d May 30 '21 at 17:25
3

The message can be suppressed by loosening the privacy setting in your internet options enter image description here

You can also just add a per site pricavy option for the site you're using in your script, instead of allowing all cookies.

Opposed to the -UseBasicParsing You'll keep the parsing provided by internet explorer. (At the cost of loosened security)

Lars
  • 3,022
  • 1
  • 16
  • 28
  • 1
    Doesn't work for me... tried allowing everything, blocking everything, changed the settings in both user and administrative mode... Some sites will spawn those warnings and some will not. – David Trevor Jun 28 '19 at 10:32