二 编写简单代码

  1. 简单代码一:   demo1.py

1.from selenium import webdriver

  1. driver = webdriver.Chrome()
  2. driver.get("http://baidu.com")
  3. driver.find_element_by_id("kw").send_keys("hello world")
  4. driver.find_element_by_id("su").click()
  5. driver.quit()

以上代码中包含了打开浏览器,打开指定网页.输入内容,点击,和关闭浏览器等操作

此代码存在的问题:

  1. 浏览器没有实现最大化
  2. 如果元素没有出来,则会导致报错(找不到元素)

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. 登录实现

实现登录的方式有三种:

  1. 使用send_keys的方式,输入用户名和密码
  2. 包含验证码的.可以使用send_keys和PIL(在py2中叫pillow,已经停止更新)的方法
  3. 使用cookie的方式登录(包含验证码的话,建议使用这种方式)
  4. 简单代码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()

  1. 编写用例函数:

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篇的更多相关文章

  1. selenium自动化(三).........................................框架篇

    三.Unittest框架介绍: 1.Unittest类似于java中的Junit,功能较为简单,逻辑简单,理解和使用起来比较简单 1)       安装:自带框架,无需安装 2)       使用:可 ...

  2. Selenium2学习-022-WebUI自动化实战实例-020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小)

    前几篇文章中简略概述了,如何获取.设置浏览器窗口大小,那么我们该如何获取浏览器显示区域的大小呢?此文讲对此进行简略概述,敬请各位小主参阅.若有不足之处,敬请各位大神指正,不胜感激! 获取浏览器显示区域 ...

  3. 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)

    1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...

  4. Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)

    通常在编写 Selenium 的 WebUI 自动化脚本时,有些元素不易定位元素,或有些元素为隐藏的(此时用 WebElement.getText() 获取其值的时候,返回的结果为空),对日常的 UI ...

  5. selenium自动化过程中如何操作Flash动画

    最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...

  6. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  7. 深入理解基于selenium的二次开发

    对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是为了易于维护,很多人可能不懂得维护的价值是什么,和到底要 ...

  8. Selenium2学习-036-WebUI自动化实战实例-034-JavaScript 在 Selenium 自动化中的应用实例之六(获取 JS 执行结果返回值)

    Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: /** * Get ...

  9. 【python自动化第十一篇】

    [python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离, ...

随机推荐

  1. Linux下安装桌面

    1.         安装之前先测试是否有桌面 2.         建立yum源文件   3.         挂载好光盘(/rhel自己创建)   4.         使用yum list 查看 ...

  2. scp 命令简明介绍

    安全复制(英语:Secure copy,缩写SCP)是指在本地主机与远程主机或者两台远程主机之间基于Secure Shell(SSH)协议安全地传输电脑文件."SCP"通常指安全复 ...

  3. 关于函数调用约定-thiscall调用约定

    函数调用约定描述了如何以正确的方式调用某些特定类型的函数.包括了函数参数在栈上的分配顺序.有哪些参数将通过寄存器传入,以及在函数返回时函数栈的回收方式等. 函数调用约定的几种类型 stdcall,cd ...

  4. 优动漫PAINT安装教程

    优动漫PAINT是一款漫画.插画.动画绘制软件.其功能可分别满足画师对于插画.漫画和动画创作的针对性需求,是一款非常好用易上手的动漫绘图软件,本文来看使用软件第一步,如何安装优动漫PAINT. 步骤一 ...

  5. ZBrush中Local模式的旋转

    刚接触ZBrush®的小伙伴可能对Local(局部)有了简单的了解,但是大多数人对它的认识还是比较模糊的,那么在本文中小编将对local命令做详细说明.此工具可以控制视图的旋转轴心点的位置,默认情况下 ...

  6. 带你学C带你飞!

    C语言免费课程推荐:带你学C带你飞! 想学习C语言,首先就要了解什么是C语言: C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码 ...

  7. 路飞学城Python-Day38(第四模块思维导图)

  8. HDU 3068 最长回文( Manacher模板题 )

    链接:传送门 思路:Manacher模板题,寻找串中的最长回文子串 /***************************************************************** ...

  9. MHA 主从切换过程及日志分析

    本文主要在MHA 切换日志的角度分析MHA切换的过.MHA故障切换过程如下图所示 第一部分:开启MHA 监控 通过分析日志,得到以下步骤: 1.读取MHA manager 节点的配置文件,并检查配置文 ...

  10. shell 的变量

    一.自定义变量 1.字母或者下划线开头,由字母.数字.下划线组成,大小写敏感,在使用变量时,要在变量前加上前缀 $,一般变量由大写字母表示,并且英文开头,"=" 两边应没有空格.如 ...