首页 > 代码库 > Selenium+Python之163邮件发送

Selenium+Python之163邮件发送

     今晚写了一个163邮箱登录的脚本,不知是163登录策略的限制还是163邮箱改版的问题,直接访问163邮箱主页登录需要输入验证码,因为无法获取到验证码,就这导致直接访问主页登录脚本不可行,现在先访问hao123主页,再从主页点击‘邮箱‘登录。

 1 #coding=utf-8 2 from selenium import webdriver 3 from time import sleep 4  5 driver = webdriver.Firefox() 6 driver.maximize_window() 7 driver.get("http://www.hao123.com") 8 sleep(5) 9 #获取hao123主页的句柄10 handle_hao123 = driver.current_window_handle11 #登录163邮箱12 driver.find_element_by_link_text("邮箱").click()13 driver.find_element_by_id("mailName").clear()14 driver.find_element_by_id("mailName").send_keys("邮箱地址")   #你的邮箱地址15 driver.find_element_by_id("mailPwd").clear()16 driver.find_element_by_id("mailPwd").send_keys("邮箱密码")    #你的邮箱密码17 driver.find_element_by_id("mailSubmit").click()18 #获取所有窗口的句柄19 all_handles = driver.window_handles20 #根据窗口句柄的再判断,切换到163窗口21 for handle in all_handles:22     if handle != handle_hao123:23         driver.switch_to_window(handle)24         print("now access mail 163!")25         #定位‘写信‘按钮26         driver.find_elements_by_class_name("oz0")[1].click()27         sleep(1)28         #定位收件人输入框并输入收件人信息29         driver.find_element_by_class_name("nui-editableAddr-ipt").clear()30         driver.find_element_by_class_name("nui-editableAddr-ipt").send_keys("791918813@qq.com")31         #定位邮件的主题并输入信息32         driver.find_elements_by_class_name("nui-ipt-input")[2].clear()33         driver.find_elements_by_class_name("nui-ipt-input")[2].send_keys("发送邮件测试")34         #由于通过class_name定位出多个元素,需先定位一组元素再做筛选35         #添加附件,由于此标签为input,因此可以直接使用send_keys的方式添加附件36         driver.find_element_by_xpath(//input[@type="file"]).send_keys("D:\\sublimePython\\cookie.txt")37         #由于在邮件正文中有iframe,需先定位并切换到表单中38         frame = driver.find_element_by_class_name("APP-editor-iframe")  #若iframe有id或是name属性,可以直接切换39         driver.switch_to_frame(frame)40         #输入正文41         driver.find_element_by_xpath(//body[@class="nui-scroll"]).send_keys("Good study, day day up!")42         driver.switch_to_default_content()43         #点击发送44         driver.find_elements_by_class_name("nui-btn-text")[-2].click()45         sleep(5)46         driver.close()47 48 driver.quit()

 

Selenium+Python之163邮件发送