尝试用selenium发邮件,与登录
from lib2to3.pgen2 import driver
from selenium import webdriver
import time
def cookieLogin():
# 跳过cookies验证
driver = webdriver.Chrome()
driver.maximize_window()
# 必须传一个字典
cookies_1={"name":"ZYBIPSCAS","value":"IPS_xxxxxx"}
#必须首先加载网站,这样selenium才知道cookie是属于哪个网站的
driver.get("目标页面A")
driver.add_cookie(cookies_1)
driver.get("目标页面A")
def passwordLogin():
#driver1登录网站,获得cookie并保存
driver1 = webdriver.Chrome()
driver1.get("登录页的链接")
driver1.maximize_window()
time.sleep(2)
#第一次通过send_keys向输入框发送用户名密码登录
driver1.find_element_by_xpath("//*[@id='app']/div/div[4]/div[1]/input").send_keys("账号")
driver1.find_element_by_xpath("//*[@id='app']/div/div[4]/div[2]/input").send_keys("密码")
time.sleep(2)
driver1.find_element_by_xpath("//*[@id='app']/div/div[4]/button").click()
time.sleep(2)
#用get_cookies的方法得到登录后的cookie,这个cookie是个列表,列表中两个元素都是字典,第一个是登录前的cookie,第二个是登录后的cookie
#将cookie保存在变量savedCookies中
savedCookies = driver1.get_cookies()
print(savedCookies)
driver1.get("目标页面")
time.sleep(5)
def sendEmail():
#登录
driver1 = webdriver.Chrome()
driver1.get("https://mail.qq.com/")
driver1.maximize_window()
driver1.switch_to.frame("login_frame")
time.sleep(1)
#第一次通过send_keys向输入框发送用户名密码登录
driver1.find_element_by_xpath("//*[@id='u']").send_keys("qq号")
driver1.find_element_by_xpath("//*[@id='p']").send_keys("密码")
time.sleep(1)
driver1.find_element_by_xpath("//*[@id='login_button']").click()
time.sleep(1)
# 点击写信 //*[@id="composebtn"]
driver1.find_element_by_xpath('//*[@id="composebtn"]').click()
time.sleep(1)
# 填充内容
driver1.switch_to.frame("mainFrame")
driver1.find_element_by_xpath('//*[@id="toAreaCtrl"]/div[2]/input').send_keys("uonele@163.com")
time.sleep(1)
driver1.find_element_by_xpath('//*[@id="subject"]').send_keys("测试邮件")
time.sleep(0.5)
# 切换到iframe
driver1.switch_to.frame(driver1.find_element_by_xpath('//*[@class="qmEditorIfrmEditArea"]'))
driver1.find_element_by_xpath('/html/body').click()
driver1.find_element_by_xpath('/html/body').send_keys("Hello World", "\nlucas")
# 切回去
driver1.switch_to.parent_frame()
# 定位发送按钮
driver1.find_element_by_xpath('//*[@name="sendbtn"]').click()
time.sleep(4)
print("发送成功")
sendEmail()