【问题标题】:Python mechanize BrowserStateErrorPython 机械化 BrowserStateError
【发布时间】:2013-07-23 12:47:25
【问题描述】:

有没有办法使用 python mechanize 库来处理 xml。 我正在使用 mechanize .find_link() 方法,它给了我以下错误

>>> br.find_link(text="Help")

Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    br.find_link(text="Help")
  File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 618, in find_link
    return self._filter_links(self._factory.links(), **kwds).next()
  File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 640, in _filter_links
    raise BrowserStateError("not viewing HTML")
BrowserStateError: not viewing HTML
>>>

br 是机械化浏览器对象。 从一点研究来看,这是因为该页面是非 HTML 的。有没有绕过这个。

【问题讨论】:

    标签: python-2.7 mechanize


    【解决方案1】:

    一种解决方案是从 XML 中提取 HTML 部分,然后再将其解析为机械化

    其他解决方案是删除实际 mechanize library 中的检查

    【讨论】:

    • 是的,我必须这样做,使用 BeautifulSoup
    • 是的,soup=BeautifulSoup(file.html,'xml') mylink=soup.find('a','something')['href']
    猜你喜欢
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2013-06-09
    相关资源
    最近更新 更多