Skip to main content
 首页 » 编程设计

python之属性错误 : 'Browser' object has no attribute 'manager' when test spynner

2025年05月04日9mfrbuaa

我正在尝试使用 spynner 自动单击 HTML 源代码中的某个按钮作为一个小测试。但是我收到了这个错误。 追溯(最近一次通话): 文件“build\bdist.win32\egg\spynner\browser.py”,第 287 行,在 _on_reply AttributeError: 'Browser' 对象没有属性 '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,感谢您的帮助!

请您参考如下方法:

在browser.close()之前,你必须distroy循环javascript,有些网站有timming脚本,所以你需要distroy这些脚本 查看 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