python 使用selenium webdriver编写自动登录126或163邮箱并发送邮件的程序。

这是一个有问题的代码,摆弄了很久,找不到解决的办法,希望看到我错误的大神给于留言指点。也可以发邮件给我,邮箱aixuexiba666@126.com,大家有高明的解决方案,欢迎大佬指教。谢谢!


我的问题主要出在点击“写信”按钮无反应。无法准确找到获取该按钮,并有反应的方法。

发现下面这位博主和我的问题基本一样。没有很好的解决方法。https://www.cnblogs.com/yin-tao/p/7244082.html

同样使用这位老哥的方法也都无法解决。https://blog.csdn.net/mrlevo520/article/details/51954203

#-*- coding:utf-8 -*-
from selenium import webdriver
import selenium.webdriver.support.ui as ui
from time import sleep

# 目标邮箱账号
target_email1 = "***@126.com"
target_email2 = "***@163.com"

url='https://mail.163.com/'

def emails_login(url):
    driver = webdriver.Firefox()
    driver.implicitly_wait(30)
    #最大化窗口
    driver.maximize_window()
    driver.get(url)
    #切换到表单
    driver.switch_to.frame("x-URS-iframe")
    driver.find_element_by_name("email").clear()
    driver.find_element_by_name("email").send_keys('zgd666')
    driver.find_element_by_name("password").clear()
    driver.find_element_by_name("password").send_keys('gdz666')
    driver.find_element_by_id("dologin").click()

    driver.switch_to_window(driver.current_window_handle)
    # print driver.current_window_handle
    ##以上能够打印出正确的新页面网址

    driver.find_element_by_xpath("//div[@id='dvNavTop']/ul/li[2]/span[2]").click() # 点击写信按钮
    #文体出现在为啥写信按钮无法加载???

    sleep(2)
    driver.find_element_by_class_name('nui-editableAddr-ipt').send_keys('16634629@qq.com') # 收件人
    driver.find_element_by_xpath("//input[@class='nui-ipt-input' and @type='text' and @maxlength='256']").send_keys(u'给大佬发个邮件')# 主题
    xpath = driver.find_element_by_xpath("//div[@class='APP-editor-edtr']/iframe")
    driver.switch_to_frame(xpath)  # 文本内容在iframe中
    driver.find_element_by_xpath("//body[@class='nui-scroll' and @contenteditable='true']").send_keys(u'很膜拜大佬')
    driver.switch_to_default_content() # 发送按钮在iframe外,所以需要跳出
    driver.find_element_by_xpath("//div[@class='nui-toolbar-item']/div/span[2]").click() #发送

if __name__=="__main__":
    emails_login(url)

webdriver学习参考很好的链接:

https://www.cnblogs.com/101718qiong/p/8250104.html

https://blog.csdn.net/mrlevo520/article/details/51954203


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值