Hi,
I've got a working solution for you.
Unfortunately the webbrowser control makes it a little too hard to get it working, so I opted for the http library to get the links and then use the webbrowser to display the final weather page for a specific location.
The way the website is set up, requires one to send a post request (not supported in the compact framework wb.navigate method => http lib).
Once we have the search results we parse it for the links and locations, you can select one location and then the webbrowser navigates to that specific weather page. You can programmatically change the location that is searched for, then manually select the location or automatically choose the first result,
or any other way you want to implement it and there's still some room for improvements and optimizations. (you could also insert the searchresults into a html template, if you want to stay in the browser)
Have a look at the weertest_working file in the attachment
the weertest_experimental file shows some other stuff, like using the widgets instead of the website.
The files in the injecting folder that are in the attachment don't work 100% on the device yet
The issue is that the webbrowser control doesn't display the page when it's directly passed from the http response to the wb.DocumentText, they work on the desktop and run in the device IDE, but not compiled on the device. We'll have to figure that out if you want to use one of those implementations.
These files use a different approach, they don't send a post request, they just fetch the website via http lib and insert some code and then pass the website to the webbrowser to display, so all navigating on the website is handled by the browser (since relative links are broken, link clicks are intercepeted in the navigating event and then changed to absolute links).
The html file simply changes the html code to add one location into the input box value,
the javascript file inserts a script that changes the input text
and the htmlform file adds a selectbox to select one out of many locations which then is inserted into the input box.