我试图制作一个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
我做错了什么?
答案 0 :(得分:0)
您要打开的页面https://kahoot.it/#/
不包含HTML <form>
标记。您看到的表单是使用Javascript创建的,毫无疑问是使用基本的HTML解析技术来抵御DoS攻击。
这就是browser.get_form()
什么都不返回的原因。该函数尝试返回robobrowser.forms.form.Form
的实例,该实例是HTML表单的表示,但它找不到。
我怀疑你无法让robobrowser
在这个特定的网站上做你想做的事。也是好事。