代码:#encoding=utf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECimport time

#print u"启动浏览器..."print "start browser..."#创建Firefox浏览器实例driver=webdriver.Firefox(executable_path="c:\\geckodriver")#最大化浏览器窗口driver.maximize_window()#print u"启动浏览器成功..."print "start browser done..."#print u"访问126邮箱登页。。。"print "access 126 mail login page..."driver.get("http://mail.126.com")#暂停5秒钟,一遍邮箱登录页面加载完成time.sleep(5)assert u"126网易免费邮--你的专业电子邮局" in driver.title

print "access 126 mail login page done"

wait=WebDriverWait(driver,30)

wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID,"x-URS-iframe")))

username=driver.find_element_by_xpath("//input[@name='email']")

username.send_keys("xiaxiaoxu1987")

pwd=driver.find_element_by_xpath("//input[@name='password']")

pwd.send_keys("gloryroad")

pwd.send_keys(Keys.RETURN)

print "user login..."

time.sleep(5)time1=time.time()driver.switch_to.default_content()print "total time:",time.time()-time1assert u"网易邮箱" in driver.titleprint "login done"address_book_link = wait.until(lambda x: x.find_element_by_xpath("//div[text()='通讯录']"))address_book_link.click()

add_contact_button = wait.until(lambda x: x.find_element_by_xpath("//span[text()='新建联系人']"))add_contact_button.click()

contact_name = wait.until(lambda x: x.find_element_by_xpath("//a[@title='编辑详细姓名']/preceding-sibling::div/input"))contact_name.send_keys(u"徐凤钗")contact_email = wait.until(lambda x: x.find_element_by_xpath("//*[@id='iaddress_MAIL_wrap']//input"))contact_email.send_keys("593152023@qq.com")contact_is_star = wait.until(lambda x: x.find_element_by_xpath("//span[text()='设为星标联系人']/preceding-sibling::span/b"))contact_is_star.click()contact_mobile = wait.until(lambda x: x.find_element_by_xpath("//*[@id='iaddress_TEL_wrap']//dd//input"))contact_mobile.send_keys('18141134488')contact_other_info = wait.until(lambda x: x.find_element_by_xpath("//textarea"))contact_other_info.send_keys('my wife')contact_save_button = wait.until(lambda x: x.find_element_by_xpath("//span[.='确 定']"))contact_save_button.click()

print u"进入首页。。。"time.sleep(3)mainPage=wait.until(EC.visibility_of_element_located((By.XPATH,"//div[.='首页']")))#也好用#mainPage=wait.until(lambda x: x.find_element(by='xpath', value = "//div[.='首页']"))#好用#mainPage=driver.find_element_by_xpath("//div[.='首页']")#好用mainPage.click()assert u"已发送" in driver.page_sourceprint u"进入首页成功"print "write message..."writeMessage=wait.until(lambda x:x.find_element_by_xpath("//span[text()='写 信']"))writeMessage.click()#收件人receiver=wait.until(lambda x:x.find_element_by_xpath("//div[contains(@id,'_mail_emailinput')]/input"))receiver.send_keys("367224698@qq.com")#主题theme=wait.until(lambda x:x.find_element_by_xpath("//div[@aria-label='邮件主题输入框,请输入邮件主题']/input"))theme.send_keys(u"测试邮件")#添加附件attachment=wait.until(lambda x:x.find_element_by_xpath("//div[@title='点击添加附件']/input[@size='1' and @type='file']"))attachment.send_keys("d:\\test.txt")#切入正文iframedriver.switch_to.frame(driver.find_element_by_xpath("//iframe[@tabindex=1]"))

editBox=driver.find_element_by_xpath('/html/body')editBox.send_keys(u"发给夏晓旭的一封信")driver.switch_to.default_content()#print u"写信完成"print "write message done"driver.find_element_by_xpath("//header//span[text()='发送']").click()#print u"开始发送邮件"print "start to send email.."time.sleep(3)assert u"发送成功" in driver.page_source#print u"邮件发送成功"print "send emial done"driver.quit()

结果:

C:\Python27\python.exe D:/test/hybrid_version2/TestScripts/TestScript.py
start browser...
start browser done...
access 126 mail login page...
access 126 mail login page done
user login...
total time: 0.00800013542175
login done
进入首页。。。
进入首页成功
write message...
write message done
start to send email..
send emial done

Process finished with exit code 0


转载于:https://www.cnblogs.com/xiaxiaoxu/p/9343935.html

python webdriver firefox 登录126邮箱,先添加联系人,然后进入首页发送邮件,带附件。...相关推荐

  1. python+selenium自动登录126邮箱并发送邮件

    # 代码拿来就能使用,只需更改账号.密码和收件人邮箱:未封装import time from selenium import webdriver from selenium.webdriver.com ...

  2. python自动注册邮箱_python2+selenium+mail,自动登录126邮箱

    在进行登录126邮箱时有几个坑,要完美避过可以看一下下文,直接上代码: #encoding = utf-8 from selenium import webdriver import unittest ...

  3. python 自动登录方法_Python自动登录126邮箱的方法

    本文实例讲述了Python自动登录126邮箱的方法.分享给大家供大家参考.具体实现方法如下: import sys, urllib2, urllib,cookielib import re cooki ...

  4. python+selenium 登录126邮箱

    之前尝试用requests.post的办法登录126邮箱,但是126的邮箱在传递密码是是实时加密,没有解决掉实时加密的问题,因此失败: 最近在学习selenium,发现用selenium后登录126邮 ...

  5. 虫师 selenium 4.6登录126邮箱获得验证信息

    1.怎么登录126邮箱的代码在我前面一篇文章可以看到,代码也有,只要按照虫师的代码添加几行信息即可,但是按照这里出现了一个问题, 2.怎么修改都没办法解决,后面了解到,在进入ifname以后,还需要退 ...

  6. Python - WebDriver 识别登录验证码

    Python - WebDriver 识别登录验证码 没什么可说的直接上代码! #-*-coding:utf-8-*- # Time:2017/9/29 7:16 # Author:YangYangJ ...

  7. 15_Python3.6+selenium2.53.6自动化测试_登录126邮箱

    一.实现功能:成功登录126邮箱 1 打开126邮箱 2 切换iframe 3 输入用户名.密码,点击登录 3 切回,退出浏览器 二.实现代码 # -*- coding: utf-8 -*- ''' ...

  8. 11.selenium登录126邮箱出现定位问题解决

    在用selenium登录126邮箱的时候会发现在定位到登录密码那里就会有出现问题了,一直定位不进去,接下来通过2个用例完成登录及发送邮件功能的实现方法 一.登录用例 在登录的时候会出现定位不到账号和密 ...

  9. python+selenium3登录126邮箱并发送邮件

    1.利用python自带的第三方库smtplib发送邮件,不带附件 import smtplib from email.mime.text import MIMEText from email.hea ...

  10. python实现自动登录QQ邮箱

    python 和selenium实现自动登录QQ邮箱 selenium需要先导入,pip install selenium 或者在pycharm里面点击file–settings–Project–Pr ...

最新文章

  1. const和readonly内部区别
  2. Python中__new__和__init__区别
  3. 立体栅格地图_更新丨智图栅格数据—彩色版地图,智臻智美,带来更好的业务体验...
  4. php 转义取消,php如何取消转义
  5. 启科量子加速商业化:量子通信为「盾」,量子计算为「矛」
  6. 2021年中国微粉磨料市场趋势报告、技术动态创新及2027年市场预测
  7. linux shell su root失败
  8. 一个屌丝程序猿的人生(四十九)
  9. c/s架构的ERP系统对接开票接口
  10. 企业财务分析方法-杜邦分析法、沃尔评分法、Z值模型
  11. 使用scrapy爬取dota2贴吧数据并进行分析 1
  12. python 经典图书排行榜_书榜 | 计算机书籍(5.4-5.10)销售排行榜
  13. matlab弦截法例子,弦截法matlab程序
  14. Android打字机动画,Android 打字机效果
  15. 命令行批量缩小图片尺寸
  16. 麻将判断几步入听算法
  17. Invalid attempt to spread non-iterable instance错误
  18. 没有人比我更懂集群调度器---之流行集群调度器综述
  19. 芯片制造全工艺流程详情
  20. 使用Fiddle手机抓包、捕获流量数据介绍

热门文章

  1. 2022-2027年中国海参行业市场深度分析及投资战略规划报告
  2. Gentoo 教程:系统完善
  3. 第四章 SQL语法分类
  4. 7分钟学会HTML网页制作
  5. 英语3500词(三)professions主题 (2022.1.15)
  6. ShuZu数组中插入一个数
  7. ecshop与java的关系_ecshop模板的原理分析
  8. Mysql的INTERVAL()函数和INTERVAL关键字
  9. 有台服务可以干哪些好玩的事
  10. MFS(一)---mfs详解与部署