Я пытаюсь выполнить вход в Yahoo Mail.Это мой код, но я не могу его правильно запустить.Вероятно, структура скрипта неверна.Здесь я использую webkit и gtk.Если вы знаете другие способы реализации этой функции, предложите мне.В любом случае мне нужно использовать javascript при входе в систему. Спасибо за вашу помощь.
import gtk
from webkit import WebView, WebSettings
from getpass import getpass
import gobject
class MyClass:
__timeout=5
__load=False
login = ("", "")
settings = {'username': login[0] or raw_input("Username: "), 'password': login[1] or getpass()}
def connect(self):
def onLoadFinished(view,frame):
self.__load=True
s=self.view.connect('load-finished',onLoadFinished)
self.view.open("https://login.yahoo.com/config/login_verify2?.intl=it&.src=ym&rl=1")
print "Loading yahoo.it"
while not self.__load:
pass
self.__load=False
self.view.execute_script("document.getElementById('username').value='%s';" % self.settings['username'])
self.view.execute_script("document.getElementById('passwd').value='%s';" % self.settings['password'])
self.view.execute_script("document.getElementById('.save').click();")
while not self.__load:
pass
self.__load=False
self.view.execute_script("document.getElementById('inbox-label').click()")
def __init__(self):
w_ = gtk.Window()
s_ = gtk.ScrolledWindow()
self.view = WebView()
s_.add(self.view)
w_.add(s_)
w_.show_all();
def callback(self):
self.connect()
gobject.timeout_add_seconds(self.__timeout, self.callback)
MyClass()
gtk.main()