RoboBrowser出现类型错误' NoneType'对象不可订阅

时间:2017-06-04 01:45:28

标签: python

我试图制作一个kahoot垃圾邮件发送者,它输入一个由用户决定的密码和用户名。我运行此代码时出现类型错误:

import re
from robobrowser import RoboBrowser

#Getting pin number for kahoot
pin = int(input("What is the pin number of the Kahoot?"))
# Getting number of bots to be deployed
number_of_bots = int(input("How many bots would you like?"))
#Getting base name
name = str(input("What would you like your bots' name to be (number will be added to the end of the name)?"))
#counter
counter = 0
#Number on end of name
num = 1

def joinKahoot(pin, number_of_bots, name):
    browser = RoboBrowser(history = True)
    #Connect to kahoot's website
    browser.open("https://kahoot.it/")
    pin_form = browser.get_form()
    pin_form['inputSession'].value == pin
    browser.submit_form(pin_form)

    name_form = browser.get_form()
    name_form["username"].value == name
    browser.submit_form(name_form)

#While counter is less than number_of_bots flood kahoot
while counter < number_of_bots:
    joinKahoot(pin, number_of_bots, name)
    counter += 1
    num += 1
    name = name + str(num)

错误:

Traceback (most recent call last):
  File "C:\Users\Vincent\Documents\Kahoot Spammer V2\flood.py", line 29, in <module>
    joinKahoot(pin, number_of_bots, name)
  File "C:\Users\Vincent\Documents\Kahoot Spammer V2\flood.py", line 20, in joinKahoot
    pin_form['inputSession'].value == pin
TypeError: 'NoneType' object is not subscriptable

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您要打开的页面https://kahoot.it/#/不包含HTML <form>标记。您看到的表单是使用Javascript创建的,毫无疑问是使用基本的HTML解析技术来抵御DoS攻击。

这就是browser.get_form()什么都不返回的原因。该函数尝试返回robobrowser.forms.form.Form的实例,该实例是HTML表单的表示,但它找不到。

我怀疑你无法让robobrowser在这个特定的网站上做你想做的事。也是好事。

相关问题