selenium自动化(二).........................................Demo篇
二 编写简单代码
- 简单代码一: demo1.py
|
1.from selenium import webdriver
|
以上代码中包含了打开浏览器,打开指定网页.输入内容,点击,和关闭浏览器等操作
此代码存在的问题:
- 浏览器没有实现最大化
- 如果元素没有出来,则会导致报错(找不到元素)
2. 简单代码二: demo2.py
|
from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(20) #隐式等待20s driver.maximize_window() #最大化浏览器 driver.delete_all_cookies() #删除现有的cookie driver.get("http://baidu.com") driver.find_element_by_id("kw").send_keys("hello world") driver.find_element_by_id("su").click() driver.quit() |
以上的代码实现了隐式等待20s(即发现元素则进行,超过20s未发现元素则报错)
3. 登录实现
实现登录的方式有三种:
- 使用send_keys的方式,输入用户名和密码
- 包含验证码的.可以使用send_keys和PIL(在py2中叫pillow,已经停止更新)的方法
- 使用cookie的方式登录(包含验证码的话,建议使用这种方式)
- 简单代码Demo4.py(出于隐私内容,cookie部分已经替换),注意:需要服务器端支持使用cookie
|
import time from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() #最大化浏览器 driver.delete_all_cookies() #删除现有的cookie driver.implicitly_wait(20) #隐式等待20s driver.delete_all_cookies() #删除现有的cookie driver.get("http://baidu.com") driver.add_cookie({'name' : 'BDUSS', 'value' : 'gzn'}) driver.add_cookie({'name' : 'BDORZ', 'value' : 'B49098'}) driver.find_element_by_id("kw").send_keys("hello world") driver.find_element_by_id("su").click() driver.quit() |
- 编写用例函数:
|
from selenium import webdriver driver="" def br(): global driver driver = webdriver.Chrome() def test_one(): driver.get("http://baidu.com") def tear_down(): driver.quit() if __name__ == '__main__': br() test_one() tear_down() |
selenium自动化(二).........................................Demo篇的更多相关文章
- selenium自动化(三).........................................框架篇
三.Unittest框架介绍: 1.Unittest类似于java中的Junit,功能较为简单,逻辑简单,理解和使用起来比较简单 1) 安装:自带框架,无需安装 2) 使用:可 ...
- Selenium2学习-022-WebUI自动化实战实例-020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小)
前几篇文章中简略概述了,如何获取.设置浏览器窗口大小,那么我们该如何获取浏览器显示区域的大小呢?此文讲对此进行简略概述,敬请各位小主参阅.若有不足之处,敬请各位大神指正,不胜感激! 获取浏览器显示区域 ...
- 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...
- Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)
通常在编写 Selenium 的 WebUI 自动化脚本时,有些元素不易定位元素,或有些元素为隐藏的(此时用 WebElement.getText() 获取其值的时候,返回的结果为空),对日常的 UI ...
- selenium自动化过程中如何操作Flash动画
最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...
- python+selenium自动化软件测试(第2章):WebDriver API
2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...
- 深入理解基于selenium的二次开发
对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是为了易于维护,很多人可能不懂得维护的价值是什么,和到底要 ...
- Selenium2学习-036-WebUI自动化实战实例-034-JavaScript 在 Selenium 自动化中的应用实例之六(获取 JS 执行结果返回值)
Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: /** * Get ...
- 【python自动化第十一篇】
[python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离, ...
随机推荐
- UVa 11292 The Dragon of Loowater 【贪心】
题意:有一条有n个头的恶龙,有m个骑士去砍掉它们的头,每个骑士可以砍直径不超过x的头,问怎样雇佣骑士,使花的钱最少 把头的直径从小到大排序,骑士的能力值也从小到大排序,再一个一个地去砍头 #inclu ...
- Unity3d 拖拽脚本报错 Can’t add script
报错截图: 报错原因: c#文件创建以后再改名,会报错找不到对应类. 类名和文件名要一致才行.(这个是Unity要求,c#本身不要求一致)
- CMDB设计
CMDB(资产管理数据库) CMDB是所有运维工具的数据基础 CMDB包含的内容 用户管理,记录测试,开发,运维人员的用户表 业务线管理,需要记录业务的详情 项目管理,指定此项目用属于哪条业务线,以及 ...
- NOIP2018提高组省一冲奖班模测训练(四)
NOIP2018提高组省一冲奖班模测训练(四) 这次比赛只AC了第一题,而且花了40多分钟,貌似是A掉第一题里面最晚的 而且还有一个半小时我就放弃了…… 下次即使想不出也要坚持到最后 第二题没思路 第 ...
- 【 【henuacm2016级暑期训练】动态规划专题 G】 Palindrome pairs
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 先用枚举回文串中点的方法. 得到这个字符串中出现的所有的回文. 得到他们的左端点以及右端点. 整理成一个pair<int,in ...
- Java相关知识(一)
1. 作用域public.protected.private以及不写时的差别? public 表示公有.声明的为公共成员变量和函数成员.在整个类内类外都可使用,对全部用户开放,能够直接进行调用 pri ...
- [CSS3] Responsive Table -- no more table
When the screen size is small, we can use "no more table" solution. So instead of render t ...
- iOS知识点汇总
1.怎样追踪app崩溃率.怎样解决线上闪退 当iOS设备上的App应用闪退时.操作系统会生成一个crash日志.保存在设备上.crash日志上有非常多实用的信息,比方每个正在运行线程的完整堆栈跟踪信息 ...
- android 极细线
最后找到一个还算好用的方法:伪类 + transform 原理是把原先元素的 border 去掉,然后利用:before或者:after重做 border ,并 transform 的 scale 缩 ...
- 去除iframe滚动条
主页面的IFRAME中添加:scrolling="yes" 子页面程序代码: 让竖条消失: <body style='overflow:scroll;overflow-x:a ...