PowerShell Exception 0x800A01B6 while using getElementsByTagName, getElementsByName or getElementByID
To put an Azure Web-App service under heavy load I make use of the com-object “InternetExplorer.Application” to automate an internet explorer session.
| 1 2 3 4 5 6 7 8 | $xe= New-Object-com"InternetExplorer.Application"$xe.visible = $true$xe.silent = $true$xe.Navigate($IURL)while($xe.Busy) {    [System.Threading.Thread]::Sleep(10)}  | 
Using $xe.Document.getElementsByTagName(“Input”) enables me to enumerate the form fields and buttons. This works for the first website that I am visiting. If I then navigate to another site, $xe.Document.getElementsByTagName(“Input”) generates the following exception:
| 1 2 3 4 5 6 | Exception from HRESULT: 0x800A01B6At line:1 char:1+ $Global:ie.Document.getElementsByTagName("Input")+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : OperationStopped: (:) [], NotSupportedException    + FullyQualifiedErrorId : System.NotSupportedException | 
Workaround:
Always use the following methods instead of the native ones:
| 1 2 3 | IHTMLDocument3_getElementsByTagName IHTMLDocument3_getElementsByName IHTMLDocument3_getElementByID | 
Example:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $xe= New-Object-com"InternetExplorer.Application"$xe.visible = $true$xe.silent = $true $xe.Navigate($IURL)while($xe.Busy) {    [System.Threading.Thread]::Sleep(10)} $xe.Document.IHTMLDocument3_getElementsByTagName("Input") $xe.Navigate($IURL2)while($xe.Busy) {    [System.Threading.Thread]::Sleep(10)} $xe.Document.IHTMLDocument3_getElementsByTagName("Input")  | 
