python中selenium实现自动化登录qq网页的问题
请大家帮忙看一下我的代码,每次定位到点击登录后就定位不到密码登录,就直接报错了
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://mail.qq.com/%22)
sleep(5)
iframe = driver.find_element(By.ID, "login_frame")
driver.switch_to.frame(iframe)
sleep(5)
driver.find_element(By.ID, "u").send_keys("你的QQ账号")
sleep(3)
driver.find_element(By.ID, "p").send_keys("你的密码")
sleep(3)
driver.find_element(By.ID, "login_button").click()
sleep(5)
driver.quit()
先上代码:填好对应的邮箱、授权码(获取方法在注释中)、以及发送内容即可。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 发送给个人邮箱
# 用于构建邮件头
# 发信方的信息:发信邮箱,QQ 邮箱授权码
from_addr = '发送方@qq.com'
# 进入qq邮箱->设置->账户->找到stmp服务,点击开启。验证后会给你一个授权码,直接复制,填入下方即可
password = '自己的授权码'
# 收信方邮箱
to_addr = '收信方@qq.com'
# 发信服务器
smtp_server = 'smtp.qq.com'
# 邮箱正文内容,第一个参数为内容(正文部分),第二个参数为格式(plain 为纯文本),第三个参数为编码
msg = MIMEText('写信内容', 'plain', 'utf-8')
# 邮件头信息
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
msg['Subject'] = Header('标题')
# 开启发信服务,这里使用的是加密传输
server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server, 465)
# 登录发信邮箱
server.login(from_addr, password)
# 发送邮件
server.sendmail(from_addr, to_addr, msg.as_string())
# 关闭服务器
server.quit()
登录页面是一个嵌套页面你需要进入iframe嵌套页面中才可以输入账号密码