所以我遇到了这个错误...我回到文档,从开发人员那里找到了类似的代码。我复制并粘贴了它,并引发了相同的错误。
从开发人员那里获取代码。发生了什么变化? 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和迭代,但这并不是那么好。这对其他人有用吗?还是我只是完整的卢布?
答案 0 :(得分:0)
我遇到了同样的错误。由于我们俩都在运行代码,因此来自robobrowser网站上的介绍性文档页面,这意味着不再维护robobrowser。
我改用机械汤。这是一个Python模块,可以很好地工作,并且似乎可以维护(在没有中断时会中断。)您可以使用pip安装它。
此外,mechanicalsoup的语法更简单。例如,设置表单值时不必使用“ .value”。
所以我的建议是忘记robobrowser,而改用机械汤。