I used python's 2to3.py to do the fixing on spynner module. Then there seemed to be an issue with QString on python 3. I modified the browser.py in spynner with QString = str as some users suggested. For a start I tried the following code
import spynner
browser = spynner.Browser()
browser.set_proxy("http://username:password@host:3128")
browser.load("http://www.google.com/")
Now python is throwing the following error
File "G:\Python33\lib\site-packages\spynner\browser.py", line 1163, in runjs
js_has_runned_successfully = res.isValid() or res.isNull()
AttributeError: 'str' object has no attribute 'isValid'
res is defined in browser.py as
res = self.webframe.evaluateJavaScript(jscode)
Does spynner actually work on python 3?