Как открыть почту mail.ru, открыть письмо и прочитать оттуда все ссылки Python?

Цель такая: есть мой аккаунт mail.ru и есть аккаунт, который отправил мне письмо, нужно достать из письма все ссылки.
Сначала нужно открыть почту.

import imaplib
import email
from email.header import decode_header
import webbrowser
import os


username = "[email protected]"
password = "password" 

imap = imaplib.IMAP4_SSL("imap.mail.ru")
imap.login(username, password)

Тут появляется первая ошибка:

imaplib.error: b'Authentication failed. Please verify your account by going to https://e.mail.ru/[email protected]'

Ссылка перекидывает на авторизацию на mail.ru. Единственное решение, которое я придумал, это селениум.

import imaplib
import email
from email.header import decode_header
import webbrowser
import os
from seleniumwire import webdriver as wdw
from time import sleep


username = "[email protected]"
password = "password"

separated_mail = username.split('@')
authorising_url = f'https://e.mail.ru/login?email={separated_mail[0]}@mail.ru'

proxy_options = {
        'proxy': {
            'https': f'http://login:password@ip:port'
        }
    }
driver = wdw.Chrome(
        'C:\\Users\\aesok\\Desktop\\chromedriver.exe',
        seleniumwire_options=proxy_options
    )

try:
    driver.get(authorising_url)
    driver.find_element_by_css_selector('#root > div > div > div > div > div > form > div:nth-child(2) > div:nth-child(2) > div:nth-child(3) > div > div:nth-child(1) > button > span').click()
except Exception as e:
    print(e)
finally:
    driver.close()
    driver.quit()

imap = imaplib.IMAP4_SSL("imap.mail.ru")
imap.login(username, password)

Тут появилась следующая проблема - драйвер не может найти селектор кнопки 'Ввести пароль' на странице авторизации и появляется ошибка:

Message: no such element: Unable to locate element: {"method":"css selector","selector":"#root > div > div > div > div > div > form > div:nth-child(2) > div:nth-child(2) > div:nth-child(3) > div > div:nth-child(1) > button > span"}
  (Session info: chrome=92.0.4515.131)

На этом месте я и застрял.


Ответы (1 шт):

Автор решения: eri

Открой почту в браузере. На значке аккаунта открой "Пароль и безопасность". В разделе "Пароли для внешних приложений" добавь новый пароль и используй его для IMAP клиента.

→ Ссылка