python webdriver自动化测试初步印象
以下示例演示启动firefox,浏览google.com,搜索Cheese,等待搜索结果,然后打印出搜索结果页的标题
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
# Create a new instance of the Firefox driver
driver = webdriver.Firefox()
# go to the google home page
driver.get("http://www.google.com")
# find the element that's name attribute is q (the google search box)
inputElement = driver.find_element_by_name("q")
# type in the search
inputElement.send_keys("Cheese!")
# submit the form (although google automatically searches now without submitting)
inputElement.submit()
# the page is ajaxy so the title is originally this:
print driver.title
try:
# we have to wait for the page to refresh, the last thing that seems to be updated is the title
WebDriverWait(driver, 10).until(EC.title_contains("cheese!"))
# You should see "cheese! - Google Search"
print driver.title
finally:
driver.quit()
python webdriver自动化测试通过控件xpath定位元素
有一段html代码如下:
现在通过xpath来查找到相应的input元素,代码demo如下:
from selenium.webdriver.common.by import By
#查找所有input元素方法一
inputs = driver.find_elements_by_xpath("//input")
#查找所有input元素方法二
inputs = driver.find_elements(By.XPATH, "//input")
#查找指定的input元素,比如查找name为other的input
inputs = driver.find_element_by_xpath("//input[@name='other']")
python webdriver自动化测试在window和frame之间切换
from selenium import webdriver
# 启动firefox初始化webdriver
driver = webdriver.Firefox()
1、切换到指定窗口名的窗口,
例如有一段html代码如下
driver.switch_to_window("windowName")
2、当然也可以通过句柄来切换,示例如下
for handle in driver.window_handles:
driver.switch_to_window(handle)
上述代码会遍历,一个个的切换。
3、通过frame名称切换到指定的frame
driver.switch_to_frame("frameName")
4、也可以通过frame的索引来切换
driver.switch_to_frame(0) #切换到第一个frame
python使用selenium rc和webdriver启动不同浏览器的方法
Selenium 1 -启动 Internet Explorer
from selenium import selenium
selenium = selenium("localhost", 4444, "*iexplore", "http://google.com/")
selenium.start()
Selenium 1 - 启动Firefox
from selenium import selenium
selenium = selenium("localhost", 4444, "*firefox", "http://google.com/")
selenium.start()
webdriver - 启动Firefox
from selenium import webdriver
driver = webdriver.Firefox()
webdriver - 启动Chrome
from selenium import webdriver
driver = webdriver.Chrome()
webdriver - 启动Remote
from selenium import webdriver
driver = webdriver.Remote( browser_name="firefox", platform="any")
webdriver - 启动IE
from selenium import webdriver
driver = webdriver.Ie()
备注: 除了启动IE外,webdriver启动其他浏览器均需安装相应浏览器的驱动组件,关于这块的环境搭建请参见
python webdriver自动化测试通过控件css定位元素
有一段html代码如下:
milk
cheese
现在通过css来查找到相应的span元素,代码demo如下:
from selenium.webdriver.common.by import By
#查找css为span元素方法一
cheese = driver.find_element_by_css_selector("#food span.dairy.aged")
#查找css为span元素方法二
cheese = driver.find_element(By.CSS_SELECTOR, "#food span.dairy.aged")
python webdriver自动化测试通过控件 Partial Link Text定位元素
有一段html代码如下:
现在通过Partial Link Text来查找到相应的a元素,代码demo如下:
from selenium.webdriver.common.by import By
#查找Partial Link Text为a元素方法一
cheese = driver.find_element_by_partial_link_text("cheese")
#查找Partial Link Text为a元素方法二
cheese = driver.find_element(By.PARTIAL_LINK_TEXT, "cheese")
python webdriver自动化测试通过控件link text定位元素
有一段html代码如下:
现在通过link text来查找到相应的a元素,代码demo如下:
from selenium.webdriver.common.by import By
#查找link text为cheese元素方法一
cheese = driver.find_element_by_link_text("cheese")
#查找link text为cheese元素方法二
cheese = driver.find_element(By.LINK_TEXT, "cheese")
python webdriver自动化测试通过控件tag name定位元素
有一段html代码如下:
现在通过tag name来查找到相应的iframe元素,代码demo如下:
from selenium.webdriver.common.by import By
#查找tag name为iframe元素方法一
frame = driver.find_element_by_tag_name("iframe")
#查找tag name为iframe元素方法二
frame = driver.find_element(By.TAG_NAME, "iframe")
python webdriver自动化测试通过控件class name定位元素
有一段html代码如下:
现在通过class name来查找到相应的div元素,代码demo如下:
from selenium.webdriver.common.by import By
#查找第一个class为cheese的div元素
cheeses = driver.find_elements_by_class_name("cheese")
# 查找所有class为cheese的div元素
cheeses = driver.find_elements(By.CLASS_NAME, "cheese")
python webdriver自动化测试通过控件name定位元素
#导入webdriver
from selenium import webdriver
# 启动firefox初始化webdriver
# ie: driver = webdriver.Ie()
# chrome: driver = webdriver.Chrome()
driver = webdriver.Firefox()
# 访问baidu官网
driver.get("http://www.baidu.com")
# 定位输入框
element= driver.find_element_by_name("wd")
# 打印出来看一下
# 会看到一个内存地址,说明已经找到
print element
# 关闭浏览器、退出webdriver
driver.quit()
python webdriver自动化测试通过控件id定位元素
#导入webdriver
from selenium import webdriver
# 启动firefox初始化webdriver
# ie: driver = webdriver.Ie()
# chrome: driver = webdriver.Chrome()
driver = webdriver.Firefox()
# 访问baidu官网
driver.get("http://www.baidu.com")
# 定位输入框
element = driver.find_element_by_id("kw")
# 打印出来看一下
# 会看到一个内存地址,说明已经找到
print element
# 关闭浏览器、退出webdriver
driver.quit()
python webdriver自动化测试访问某个网址
python webdriver自动化测试访问指定网址示例
#导入webdriver
from selenium import webdriver
# 启动firefox初始化webdriver
# ie: driver = webdriver.Ie()
# chrome: driver = webdriver.Chrome()
driver = webdriver.Firefox()
# 访问google官网
# 记得网址前最好带http
driver.get("http://www.google.com")
- Python WebDriver自动化测试
转载来自: http://www.cnblogs.com/fnng/p/3160606.html Webdriver Selenium 是 ThroughtWorks 一个强大的基于浏览器的开源自动化 ...
- python webdriver 自动化测试练习 1-- 在线调查
__author__ = 'Mickey0s' # coding:utf8 from selenium import webdriver from selenium.webdriver.common. ...
- 前端自动化测试python+webdriver
前言:很多做测试的朋友的就知道,python+webdriver 可以做自动化测试,这对前端开发是非常有用的. python 入门我就不讲了 ,推荐学习 廖雪峰老师的python入门3.5新版哈 ...
- 转:python webdriver API 之简单对象的定位
对象(元素)的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的,因此元素定位就显得非常重要. (本书中用到的对象与元素同为一个事物)一个对象就像是一个人,他会有各种的特征(属性) , ...
- 转:python webdriver 环境搭建
第一节 环境搭建准备工具如下:-------------------------------------------------------------下载 python[python 开发环境]ht ...
- python selenium 自动化测试web
如何使用python完成自动化测试web页面呢?首选selenium 那基于python的selenium如何使用,下面看一段测试案例: 基于python的selenium 安装方法: pip i ...
- 基于Appium、Python的自动化测试
基于Appium.Python的自动化测试环境部署和实践 第一章 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Native).混合(Hybrid).移动Web(Mobile ...
- [转]构建Python+Selenium2自动化测试环境(二)
构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试. 1.在I ...
- Python Web自动化测试入门与实战,从入门到入行
Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html 天猫:https://detail.tmall.com/it ...
随机推荐
- oracle10G 数据库名、实例名、ORACLE_SID 及创建数据库- hl3292转载修改(实践部分待校验)
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
- 什么是需求Bug、设计Bug、功能bug?
首先什么是需求Bug.设计Bug.功能bug? 需求Bug,指由于客户需求描述不清晰或错误.需求收集人员自身原因及需求本身模糊难于分析.获取等原因,导致客户需求获取不准确,后期产品不能满足客户.用户的 ...
- jquery input 赋值和取值
记录一下: 在写一个input赋值,二话不说就直接利用了$('#xx').val()来进行取值和赋值,取值ok,赋值后利用alert显示正确,但是在html上并没有正确的显示出来,后来改为使用如下代码 ...
- 10.24afternoon清北学堂刷题班
/* 这是什么题... */ #include<iostream> #include<cstdio> #include<cstring> #include<q ...
- mvn 配置
<!-- 阿里云仓库1 --> <mirror> <id>alimaven-1</id> <name>al ...
- 自己编写的str操作函数
1.strcat() 此函数原型为 char *strcat(char *dest, const char *src). 功能为连接两个字符串,把src连接到dest后面:返回dest地址 实现如下 ...
- 51nod1344 走格子
1344 走格子 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格 ...
- IPython、Notebook、qtconsole使用教程
IPython.Notebook.qtconsole使用教程 上一篇为Python,IPython,qtconsole,Notebook,Jupyter快速安装教程 1. 使用IPython 自动补全 ...
- Android Error:Unable to find method 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'.
问题:Error:Unable to find method 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List ...
- 推荐一些相见恨晚的 Python 库 「一」
扯淡 首先说明下,这篇文章篇幅过长并且大部分是链接,因此非常适合在电脑端打开访问. 本文内容摘自 Github 上有名的 Awesome Python.这是由 vinta 在 14 年发起并持续维护的 ...