AttributeError: у объекта "Browser" нет атрибута "manager", когда тестовый спиннер

Я пытаюсь использовать spynner для автоматического щелчка по кнопке в исходном коде HTML в качестве небольшого теста. Но я получаю эту ошибку. Traceback (последний вызов был последним): файл "build\bdist.win32\egg\spynner\browser.py", строка 287, в _on_reply AttributeError: объект обозревателя не имеет атрибута 'manager'

Ниже приведен мой код, который следует руководству здесь: https://github.com/makinacorpus/spynner/blob/master/examples/webkit_methods.py

import spynner
import libxml2

proxy_ip = "xxx.xxx.xxx.xxx";
browser = spynner.Browser()  

    # setting proxy ip  
browser.set_proxy(proxy_ip :'8080'); 
browser.show() 

try:  
        browser.load(url='http://xxx.html', load_timeout=10, tries=1)  
except spynner.SpynnerTimeout:  
        print 'Timeout.'  
else:  

        browser.wk_click('a[id="voteProjectBtn_10353150"]', wait_load=True)  
browser.close()  

Я использую Python 2.7, спасибо за помощь!

1 ответ

До browser.close(), вы должны разрушить цикл javascript, на каком-то веб-сайте есть сценарий синхронизации, поэтому вам нужно уничтожить эти сценарии, посмотрите browser.py, измените метод "_manager_create_request", прежде чем browser.close(), задавать self.closeflag = True

def _manager_create_request(self, operation, request, data):
    if self.closeflag:
        return None
    url = unicode(request.url().toString())
    operation_name = self._operation_names[operation].upper()
    self._debug(INFO, "Request: %s %s" % (operation_name, url))
    for h in request.rawHeaderList():
        self._debug(DEBUG, "  %s: %s" % (h, request.rawHeader(h)))
    if self._url_filter:
        if self._url_filter(self._operation_names[operation], url) is False:
            self._debug(INFO, "URL filtered: %s" % url)
            request.setUrl(QUrl("about:blank"))
        else:
            self._debug(DEBUG, "URL not filtered: %s" % url)
    reply = QNetworkAccessManager.createRequest(self.manager,
        operation, request, data)
    return reply
Другие вопросы по тегам