【webdriver自动化】使用unittest实现自动登录163邮箱然后新建一个联系人
#练习:登录163邮箱然后新建一个联系人
import unittest
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC class AddEmailContactByFireFox(unittest.TestCase): def setUp(self):
self.driver =webdriver.Ie(executable_path="c:\\IEDriverServer") def test_HandleFrameByPageSource(self):
url = "https://mail.163.com/"
self.driver.get(url)
time.sleep(2)
iframe=self.driver.find_element_by_xpath("//iframe[@id='x-URS-iframe']")
self.driver.switch_to.frame(iframe) time.sleep(5)
user_name = self.driver.find_element_by_xpath(".//input[@name='email']")
pwd = self.driver.find_element_by_xpath(".//input[@name='password']")
login = self.driver.find_element_by_xpath("//a[@id='dologin']") user_name.clear()
pwd.clear()
user_name.send_keys("XXX")
pwd.send_keys("wangjing1990")
login.click()
time.sleep(20) address_link=self.driver.find_element_by_xpath(".//div[text()='通讯录']")
address_link.click()
time.sleep(2) #wait = WebDriverWait(self.driver, 10, 0.2)
#wait.until(EC.visibility_of_element_located((By.LINK_TEXT, "退出")))
#assert u"退出" in self.driver.page_source
address_center_link=self.driver.find_element_by_xpath("//div[text()='通讯录']")
address_center_link.click()
time.sleep(5) #wait.until(EC.visibility_of_element_located((By.XPATH, "//span[text()='新建联系人']")))
create_contact_person_button=self.driver.find_element_by_xpath("//span[text()='新建联系人']")
create_contact_person_button.click() time.sleep(15)
#name = WebDriverWait(self.driver,10).until(lambda x: x.find_element_by_xpath("//input[@id='input_N']"))
#name.send_keys("wangjing") contacts_name_link=self.driver.find_element_by_xpath(".//input[@id='input_N']")
contacts_name_link.send_keys("wangjing")
time.sleep(2) contacts_email_link=self.driver.find_element_by_xpath(".//div[@id='iaddress_MAIL_wrap']/dl/dd/div/input")
contacts_email_link.send_keys("XXX@163.com")
time.sleep(2) contacts_tel_link=self.driver.find_element_by_xpath(".//div[@id='iaddress_TEL_wrap']/dl/dd/div/input")
contacts_tel_link.send_keys("")
time.sleep(2) contacts_other_link=self.driver.find_element_by_xpath(".//div[@id='iaddress_TEL_wrap']/following::dl/dd/div/textarea")
contacts_other_link.send_keys("family")
time.sleep(2) contacts_confirm_link=self.driver.find_element_by_xpath(".//span[text()='确 定']")
contacts_confirm_link.click()
time.sleep(2) def tearDown(self):
self.driver.quit() if __name__ == '__main__':
unittest.main()
【webdriver自动化】使用unittest实现自动登录163邮箱然后新建一个联系人的更多相关文章
- [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍
前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...
- 5、Selenium+Python自动登录163邮箱发送邮件
1.Selenium实现自动化,需要定位元素,以下查看163邮箱的登录元素 (1)登录(定位到登录框,登录框是一个iframe,如果没有定位到iframe,是无法定位到账号框与密码框) 定位到邮箱框( ...
- python selenium模拟登录163邮箱和QQ空间
最近在看python网络爬虫,于是我想自己写一个邮箱和QQ空间的自动登录的小程序, 下面以登录163邮箱和QQ空间和为例: 了解到在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用, ...
- Python selenium登录163邮箱示例
思路:使用python自带的unittest单元测试框架测试163邮箱登录成功的case import unittestfrom selenium import webdriverimport tim ...
- python webdriver 登录163邮箱发邮件加附件, 外加数据和程序分离,配置文件的方式
配置文件:UiObjectMapSendMap.ini用来存放配置信息 GetOptionSendMail.py 用来读取配信息 #encoding=utf-8from selenium.webdri ...
- 自动化web前端测试,自动登录网站.目前发现最靠谱的方法是imacros
imacros免费版 登录宏代码的示例: //首先登出URL GOTO=http://yoursite/logout.html//打开登录页面URL GOTO=http://yoursite/logi ...
- python webdriver 显示等待-自动登录126邮箱,添加联系人
脚本内容:#encoding=utf-8#author-夏晓旭from selenium import webdriverimport timefrom selenium.webdriver.supp ...
- selenium登录163邮箱
环境:windows8 python2.7+selenium+chrome 直接上脚本: # coding=utf-8from selenium import webdriverimport tim ...
- selenium登录163邮箱,得到cookie,requests后续请求
1.场景 很多时候登录操作是比较复杂的,因为存在各种反爆破操作,以及为了安全性提交数据都会存在加密.如果要完全模拟代码去实现登录操作是比较复杂,并且该网站后续更新了登录安全相关功能,那么登录的模拟操作 ...
随机推荐
- maven聚合工程tomcat插件启动没有 Starting ProtocolHandler ["http-bio-8081"]
Starting ProtocolHandler ["http-bio-8081"]无法显示,一般有三个原因: (1)数据库连不上: (2)注册中心连不上(我这里用的是zookee ...
- ActiveMQ的spring配置文件
从官网copy出来,做了部分修改: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...
- springMVC中对HTTP请求form data和request payload两种数据发送块的后台接收方式
最近在做项目中发现,前台提交数据时,如果通过form表单提交和ajax发送json时,springMVC后台接收不能都通过@ModelAttribute方式处理,经过一番查找后,ajax发送json请 ...
- matlab global persistent变量
global变量是全局的,在使用global变量的函数里需要用global声明所使用的变量. persistent类似global,不过仅对当前函数有作用,这样避免了外面的影响.当这个函数被clear ...
- 使用 NumPy 和 Matplotlib 绘制函数图
Numpy是用python进行科学计算的基本程序包. 它主要包含以下功能: ♦强大的n维数组对象 ♦复杂(广播)函数工具 ♦用于集成c/c++和Fortran代码-有用的线性代数 ♦傅里叶变换和随机数 ...
- python 自然语言处理(二)____获得文本语料和词汇资源
一, 获取文本语料库 一个文本语料库是一大段文本.它通常包含多个单独的文本,但为了处理方便,我们把他们头尾连接起来当做一个文本对待. 1. 古腾堡语料库 nltk包含古腾堡项目(Project Gut ...
- linux磁盘管理 文件挂载
文件挂载的概念 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"到根文件系统上的某个系统来实现,此关联操作即为"挂载",此目录即为"挂载点& ...
- shell test判断命令
判断命令test 使用test命令可以对文件,字符串等进行测试,一般配合控制语句使用,如while,if,case "字符串测试" test str1==str2 测试字符串是 ...
- JavaScript -基础- 函数与对象(三)正则、Match对象
一.正则对象 1.创建方法 1)方式一 var re_obj=new RegExp("\d+","g") 规则+模式(g 全局模式/i 不区分大小写/gi) r ...
- c# 十进制转二、八、十六进制
一.十进制转二.八.十.十六进制字符串 Convert.ToString(int decNum,int toBase); decNum为十进制字符串, toBase可以为2.8.10.16 如果要转换 ...