У меня IE 9 на Windows 7 и Python 2.7.Этот код отлично работает, когда я использую Firefox для драйвера, но с IE он падает через несколько секунд.Интересно, достигает ли он высокой загрузки процессора во время цикла while?Я нуб, когда дело доходит до написания хороших циклов while / wait.
def text_from_gmail(username, password, to_user, pattern):
gmail = PyGmail('imap.gmail.com')
gmail.login(username, password)
#find the id of the confirmation message
sec_waiting = 0
msg_uid = ['']
sleep_period = 10 # seconds to wait between Gmail searches
while msg_uid == ['']: # wait until message list from server isn't empty
gmail.m.select('[Gmail]/All Mail')
resp, msg_uid = gmail.m.search(None, 'To', to_user)
if(msg_uid != ['']):
break # don't sleep if the message was found quickly
time.sleep(sleep_period) # pause between checks
sec_waiting += sleep_period
if sec_waiting >= 300: # 5 minute timeout
assert False # fail the test if timeout elapses
# extract the confirmation link from the message
# it's a multi-part MIME, so we have to grab the attachment and decode it
typ, msg_data = gmail.m.fetch(msg_uid[0], '(RFC822)')
gmail.logout()
email_body = msg_data[0][1]
mail = email.message_from_string(email_body)
body = ""
for part in mail.walk():
if(part.get_content_type() == 'text/plain'):
body = part.get_payload(decode=True)
link = re.findall(pattern, body)
return link