innerHTML : Main Menu
......more html stuff....
item title="Transfer In And Out" url="reports/TransferInAndOut2.asp?l=English"
item title="Seize Items" url="administration/SeizeReport.asp?l=English"
item title="File Upload Utility" url="administration/uploadprofileselector.aspx?l=English&uid=1234&oid=123456" >
I can't even tell you how much I hate the Internet Explorer COM object. This isn't really a PowerShell question, understand, so you might also want to ask in a more dev-centric forum like StackOverflow. This COM object is also a little flakey in .NET, so be prepared to bang your head against a wall a bit.
AllElements is a collection; it doesn't have an innerHTML of its own. You might have better luck using getElementsByName(); you can get the named elements you want (e.g., their HTML tag name), and enumerate through that collection. But you can't pull innerHTML from a collection – you have to get an actual concrete element in order to use that.
If you just start with AllElements, you're going to have to enumerate that. If you pull the innerHTML for the entire page, you've just got a giant wedge of text and you're going to end up using a regular expression to match whatever you want, and it's going to be a lot harder.