0

所以我收到了这个错误......我回到文档并从开发人员那里找到了类似的代码。我复制并粘贴了它,它抛出了同样的错误。

这是开发人员的代码。有什么变化??TypeError:“NoneType”对象不可下标

import re
from robobrowser import RoboBrowser

# Browse to Rap Genius
browser = RoboBrowser(history=True)
browser.open('http://rapgenius.com/')

# Search for Queen
form = browser.get_form(action='/search')
form                # <RoboForm q=>
form['q'].value = 'queen'
browser.submit_form(form)

谢谢

...我发现基本上您不能通过标识符指定特定表单...不知道为什么会这样..您可以 get_forms 并执行 len 并迭代,但这并不是那么好。这对其他人有用还是我只是一个完整的rube?

4

1 回答 1

0

我遇到了同样的错误。由于我们都运行的代码来自 robobrowser 网站上的介绍性文档页面,这意味着不再维护 robobrowser。

我改用机械汤。它是一个 Python 模块,效果很好并且似乎得到了维护(在它没有中断之后)。你可以使用 pip 安装它。

另外,mechanicalsoup 的语法更简单。例如,您不必在设置表单值时使用“.value”。

所以我的建议是忘记 robobrowser 并切换到mechanicalsoup。

于 2019-03-19T13:31:22.790 回答