2014-01-21 38 views
0

我有以下代碼:機械化提高BrowserStateError

br = mechanize.Browser() 
br._factory.is_html = True 
br.form = mechanize._form.ParseString('<form method="post"</form>', 'http://localhost/post.php')[1] 

br.form.new_control('text', 'test',{'value':'something'}) 
br.form.fixup() 
br.submit() 

代碼工作有時但有時它提出BrowserStateError:不查看HTML。我是不是正確覆蓋_factory.is_html?

回答

0

顯然,mechanize需要你有才能的實際響應提交表單:

def viewing_html(self): 
    """Return whether the current response contains HTML data.""" 
    if self._response is None: 
     raise BrowserStateError("not viewing any document") 
    return self._factory.is_html 

mechanize/_mechanize.py, line 440