今天发现之前的登录163邮箱脚本定位不到iframe了,原因是iframe拼接了动态ID,修改后的脚本如下: from selenium import webdriver driver = webdriver.Firefox()driver.maximize_window() driver.get('http://mail.163.com') driver.find_element_by_id('switchAccountLogin').click()iframe = driver.find_e…
思路:使用python自带的unittest单元测试框架测试163邮箱登录成功的case import unittestfrom selenium import webdriverimport time#定义登录类,登录相关的case都可以在这里 class LoginCase(unittest.TestCase): #每个用例开始前的准备 def setUp(self): print("开始测试") self.dr=webdriver.Chrome() self.dr.get(&qu…
Selenium定位iframe动态ID. 126邮箱实例 买了本虫师的书来学习selenium2自动化测试,然后写第一个实例就遇到了一些坑,好在有热心的网友提供了帮助,解决了问题 要学习selenium总要先搭建好python环境,这个就不说了 ,网上一搜一大把,也要装好selenium包,毕竟要用到里面的webdriver,它支持firefox,IE,Opera,和Chrome, so我就装了火狐和谷歌的驱动,把驱动放在python文件夹里面就行了 之后按照上面的例子写了一个脚本 坑的是,我…
1.Selenium实现自动化,需要定位元素,以下查看163邮箱的登录元素 (1)登录(定位到登录框,登录框是一个iframe,如果没有定位到iframe,是无法定位到账号框与密码框) 定位到邮箱框(name='email') 定位到密码框(name='password') 定位到登录按钮(id="dologin") 2.代码实现 #coding=utf-8 import time from selenium import webdriver broswer = webdriver.I…
from common import MyRequests,LoggerUntil,handle_exception myRequests.update_headers({ 'Accept':'text/javascript',}) ##这个地方加入accept了,主要是在邮件提取那里,不加入这个返回的是xml格式,加入后返回json格式,这样在提取方面更容易一些. url = 'https://mail.163.com/entry/cgi/ntesdoor?funcid=loginone&la…
1.场景 很多时候登录操作是比较复杂的,因为存在各种反爆破操作,以及为了安全性提交数据都会存在加密.如果要完全模拟代码去实现登录操作是比较复杂,并且该网站后续更新了登录安全相关功能,那么登录的模拟操作又得修改.但是通过selenium模拟人为登录得操作是永远不会过时.因此一个好得方案就是通过selenium模拟登录,然后拿到可用得Cookie通过requests进行后续得模拟请求. 2.实现代码 import time, requests from selenium import webdriv…
具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.header import Header my='1821114****@163.com' passwd='****' mail_server='smtp.163.com' mail_from='daihanyang<1821114****@163.com>' send_to=sys.argv[1] ti…
字典是通过名称来引用值的数据结构,这种类型的数据结构称为:映射. 字典是python中唯一的内建映射类型. 注意: 1.字典中键必须是唯一的,如果同一个键被赋值两次,会使用后一个值: 2.键必须不可变,所以只能使用数字.字符串.元组,其他可变的不行. 字典常用的方法有 1.del: 删除字典元素或字典 #dict-del:删除字典元素或字典 dict1={"name":"zhangsan",'age':20,'from':"china"} del…
配置文件:UiObjectMapSendMap.ini用来存放配置信息 GetOptionSendMail.py 用来读取配信息 #encoding=utf-8from selenium.webdriver.support.ui import WebDriverWaitimport ConfigParserimport osfrom selenium import webdriver class GetOption(object):    def __init__(self):        #…
// '); code = code.replace(/&/g, '&'); return code; }; var runCode = function (code) { if (code != "") { var newwin = window.open('', "_blank", ''); newwin.document.open('text/html', 'replace'); newwin.opener = null; newwin.doc…