I'm writing a python script to do some screen scraping of a public website. This is going fine, until I want to interact with an AJAX-implemented tree control. Evidently, there is a large amount of javascript controlling the AJAX requests. It seems that the tree control is a JBoss RichFaces RichTree component.
How should I interact with this component programatically? 

Are there any tricks I should know about? 
Should I try an implement a subset of the RichFaces AJAX?  
Or would I be better served wrapping some code around an existing web-browser? If so, is there a python library that can help with this?
You need to make the AJAX calls from your client to the server and interpret the data. Interpreting the AJAX data is easier and less error-prone than scraping HTML any way. 
Although it can be a bit tricky to figure out the AJAX API if it isn't documented. A network sniffer tool like wireshark can be helpful there, there may also be useful plugins for your browser to do the same nowadays. I haven't needed to do that for years. :-)
How can I programmatically interact with a website that uses an AJAX JBoss RichTree component?