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() |
最新文章
- 【随笔】MQTT简介
- java守护线程的理解
- ModifyInfo.aspx.cs代码
- Rational Functional Tester 对象文件(rftdef)合并
- NDK(4)";Unresolved inclusion jni.h”的解决方法
- 如何停止Android Monkey脚本
- Spring MVC体系结构
- 利用php获取图片完整Exif信息类 获取图片详细完整信息类
- nginx反向代理取得IP地址
- dev gridcontrol 单箱效果
- JS可维护性代码
- 共享---samba
- 【T07】不要低估tcp的性能
- web框架--MVC、MTV
- 各种编译不通过xcode
- POJ - 3026 Borg Maze(最小生成树)
- [转帖]Kerberos简介
- 北京师范大学第十六届程序设计竞赛决赛-重现赛-B题
- java线程池相关接口Executor和ExecutorService
- 企业级Apache详解2