В частности, я ищу письмо с темой "Ваш заказ подтвержден!"и я пытаюсь нажать на ссылку в теле письма.Мой код обычно запускается практически сразу после отправки письма с подтверждением, и я собираюсь оптимизировать его, чтобы открыть первое письмо с этой строкой темы.
Код показан ниже.Гиперссылка, которую я пытаюсь получить, содержит '=', но при печати или возврате программа, кажется, полностью удаляет знаки равенства (=).По-видимому, мне нужно написать больше, чтобы иметь возможность опубликовать это.
Я не уверен, как еще написать это, но допустим, у меня есть атрибут
https://stackoverflow.com/php.?i=857398425237459"> Мое "значение"в коде будет возвращено "https://stackoverflow.com/php.?i857398425237459." Это лишает меня возможности правильно получить информацию о ссылке для будущего использования.
import imaplib
import email
import quopri
import HTMLParser
import time
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
class parseLinks(HTMLParser.HTMLParser):
def handle_starttag(self, tag, attrs):
global global_futures_fair_value
if tag == 'a':
for name, value in attrs:
if name == 'href':
#print name
print value.type()
linkList.append(value)
def gmailLogin(username, password):
M = imaplib.IMAP4_SSL('imap.gmail.com')
M.login(username, password)
M.select('Inbox')
rv, data = M.search(None, 'ALL')
mail_ids = data[0]
id_list = mail_ids.split()
latest_email_id = int(id_list[-1])
typ, msg_data = M.fetch(latest_email_id, '(RFC822)')
msg = email.message_from_string(msg_data[0][1])
msg = str(msg.get_payload()[1])
msg = quopri.decodestring(msg)
linkParser = parseLinks()
linkParser.feed(msg)
M.close()
M.logout()
print linkList[0]
return str(linkList[0])
linkList = []
browser = webdriver.Chrome()
answer = gmailLogin('USERNAME','PASSWORD')
browser.get(answer)