【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.场景 很多时候登录操作是比较复杂的,因为存在各种反爆破操作,以及为了安全性提交数据都会存在加密.如果要完全模拟代码去实现登录操作是比较复杂,并且该网站后续更新了登录安全相关功能,那么登录的模拟操作 ...
随机推荐
- C++的字符串多行输入
#include<iostream> using namespace std; int main() { int r, c; char grid[50][51]; cout << ...
- java判断时间为上午,中午,下午,晚上,凌晨
public static void main(String[] args) { Date date = new Date(); SimpleDateFormat df = new SimpleDat ...
- php面向对象比较
在PHP中有 = 赋值符号.== 等于符号 和 === 全等于符号, 这些符号代表什么意思? (1).=是赋值符 (2).使用 == 符号比较两个对象 ,比较的仅仅是两个对象的内容是否一致. (3). ...
- oracle中rownum和row_number()
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...
- oracle having字句
现在要求查询出职位的平均每个职位的名称,工资,但是要求显示的职位的平均工资高于2000. 即:按照职位先进行分组,同时统计出每个职位的平均工资 随后要求直显示哪些平均工资高 ...
- weblogic为同一domain下的不同server添加不同参数
一.背景 今天应用提需求说:现有一应用部署在多个server上,该应用会使用Ddubbo.protocol.port参数指定的端口去启动dubbo,现在想要做到的效果是为每个server的Ddubbo ...
- 牛客网 PAT 算法历年真题 1012 : D进制的A+B (20)
D进制的A+B (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 输入两个非负10进制整数A和B(< ...
- 剑指 offer 面试题31 连续子数组的最大和(动态规划)
求连续子数组的最大和 题目描述 给定一个整形数组,有正数也有负数,数组中连续一个或多个组成一个子数组,求所有子数组的和的最大值,要求时间复杂度为O(n); 测试用例 给定数组 {1,-2,3,10,- ...
- Win10怎么设置打开文件的默认程序
- pycharm开发工具,使用
在pycharm中,打的断点,仅在调试模式下,即debug 模式下,才有效 Use Alt + Shift + C to quickly review your recent changes to t ...