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.
$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.
The message can be suppressed by loosening the privacy setting in your internet options
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)