2017-06-04 1 views
-1

私は、ユーザーが決めたピン番号とユーザー名を入力するkahootスパマーを作ろうとしています。私はこのコードを実行するとき、私は型エラーを取得しています:RoboBrowserがタイプエラー 'NoneType'オブジェクトを取得していません。

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

name_form ["username"]です。value == name正しい構文を比較していますか? – Rosh

+0

どちらかの方法で、私はまだ同じエラーが発生します。 –

+1

'browser.get_form()'が 'None'を返すと、失敗した' None ["username"] 'を検索しようとしました。 –

答えて

0

開いているページのhttps://kahoot.it/#/には、HTML <form>タグは含まれていません。表示されるフォームはJavascriptを使用して作成され、間違いなく基本的なHTML解析技術を使用してDoS攻撃を無効にします。

だから、browser.get_form()は何も返しません。この関数は、robobrowser.forms.form.Formのインスタンスを返します。これはHTMLフォームの表現ですが、見つからない場合があります。

robobrowserには、この特定のウェブサイトで必要な機能を実行することができないと思われます。良いことも。

+0

私はどのようにそのフォームに記入しますか? –

+0

私は 'selenium'モジュールがJavascriptを実行し、あなたが解析できるHTMLを提示することを理解します。 – BoarGules

関連する問題