我正在尝试登录雅虎邮箱。这是我的代码,但我无法正确运行它。可能脚本的结构是错误的。这里我使用 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()