2016-04-07 17 views
0

Ich habe ein Skript in Python, Mechanize, das sich automatisch auf bestimmten Webseiten registrieren sollte.TypeError: geturl() nimmt genau 1 Argument (2 gegeben)

Code:

import mechanize 

br = mechanize.Browser() 

response = br.open("https://arkhamnetwork.org/community/register") 

br.addheaders = [("User-agent","Mozilla/5.0")] 

gitbot = br.open("https://arkhamnetwork.org/community/register") 

br.select_form(nr=1) 

br.set_all_readonly(False) 

br.form.set_value("test", nr=0) 

br.method = "POST" 

response = br.submit() 

print response.geturl('http://arkhamnetwork.org/community/register/register') 

Immer, wenn ich Skript ausführen, bekomme ich diesen Fehler:

TypeError: geturl() takes exactly 1 argument (2 given)

Was soll das Problem sein?

+1

Sie bieten Selbst- und Antherenargument an, indem Sie es in der Instanz aufrufen, deshalb ist es Typ, der Sie damit verwirrt. Ich kann keine guten Dokumente über dieses Modul finden, aber ich denke, es braucht nur Selbst als Parameter. – Morishiri

+0

Was muss ich tun, um das Problem zu beheben? – ShellRox

+2

Versuchen Sie 'print response.geturl()' – snakecharmerb

Antwort

0

Es gibt einige (ziemlich rudimentär) Dokumentation here, die Sie, wie Sie die geturl() Methode verwenden:

geturl(self)

Get URL of current document.

In der Regel, wenn der Fehler, den Sie sagt Ihnen, ein zu viele Argumente vorbei sind, ist es oft, weil Sie vergessen, dass Instanzmethoden eines Objekts implizit self als ersten Parameter übergeben.

Verwandte Themen