所以我确实意识到使用gmail api是最好的解决方案,但由于gmail帐户有限制(学校(,我实际上无法使用该api。所以,当我在寻找硒的解决方案时,我发现了。实际上,我还没有找到关于如何过滤电子邮件/点击24小时内的电子邮件(我想我可以自己设置(和点击附有链接的电子邮件(google.meet(的教程
由于主题和发件人并不总是相同的,我实际上无法将其限制在主题和电子邮件上,因此需要一些电子邮件正文过滤器的帮助。
import webbrowser
from selenium import webdriver
import time
import email
import imaplib
import sys
import datetime
import smtplib
with open('accountdetail.txt', 'r') as file:
for details in file:
username,password = details.split(':')
# create a new Chrome session
driver = webdriver.Chrome('C:driverchromedriver.exe')
driver.implicitly_wait(30)
driver.maximize_window()
# navigate to the application home page
driver.get("https://accounts.google.com/")
#get the username textbox
login_field = driver.find_element_by_name("identifier")
login_field.clear()
#enter username
login_field.send_keys(username)
login_field.send_keys(u'ue007') #unicode for enter key
time.sleep(4)
#get the password textbox
password_field = driver.find_element_by_name("password")
password_field.clear()
#enter password
password_field.send_keys(password)
password_field.send_keys(u'ue007') #unicode for enter key
time.sleep(10)
#navigate to gmail
driver.get("https://mail.google.com/")
我找到了这些资源,但出于某种原因,它们只处理主题,实际上并没有点击带有链接的电子邮件。如何点击Selenium中gmail收件箱中的特定电子邮件?https://www.youtube.com/watch?v=6VJaWtz6kzs
如果有确切的链接,可以使用XPath获取元素,然后单击:
url = r'YOUR URL, FROM ANY VARIABLE'
driver.find_element_by_xpath('//a[@href="'+url+'"]').click()