Selenium基于Python web自动化基础一 -- 基础汇总及简单操作
Selenium是UI层WEB端的自动化测试框架,也是目前市面上比较流行的自动化测试框架。
ui层自动化测试本质是什么?
模拟用户的真实操作行为。
基础汇总:
导入所需要的模块
from selenium import webdriver
import time 生成一个driver变量
driver = webdriver.Firefox() #浏览器最大化
# driver.maximize_window()
#自定义浏览器的宽和高
# driver.set_window_size(,) url = "http://www.cnblogs.com/hanxiaobei/"
打开url链接
driver.get(url)
time.sleep()
打印打开页面的title
print("网站title",driver.title) #截图并保存为1.png
driver.get_screenshot_as_file("1.png") #刷新当前页面
driver.refresh() time.sleep()
driver.get("http://www.baidu.com")
print("网站的title",driver.title) driver.back() #后退
driver.forward()#前进 driver.close() #关闭页面,进程还在
# driver.quit() #关闭浏览器,进程杀死
定位元素的7种方式:
# driver.find_element_by_id("kw").send_keys("selenium")
# driver.find_element_by_name("wd").send_keys("selenium")
# driver.find_element_by_class_name("s_ipt").send_keys("selenium")
# driver.find_element_by_xpath(".//*[@id='kw']").send_keys("selenium")
#定位超链接:第一种是精确匹配,第二种是模糊匹配
# driver.find_element_by_link_text("新闻").click()
# driver.find_element_by_partial_link_text("我是那个").click()
# driver.find_element_by_css_selector(".s_ipt").send_keys("selenium")
定位元素的另一种写法:
driver.find_element("id","kw").send_keys("selenium")
获取元素文本内容
blogname = driver.find_element_by_class_name('blogName').text
print("获取的文本内容是:",blogname) xpath定位总结:
1、绝对路径:driver.find_element_by_xpath("html/body/a").click()
2、//标签名[@属性名=属性值]:
driver.find_element_by_xpath("//a[@href='http://www.baidu.com/s?wd=测试']").click()
driver.find_element_by_xpath("//*[@href='http://www.baidu.com/s?wd=测试']").click() 3、contains、start-with:
driver.find_element_by_xpath("//a[contains(@href,'测试')]").click() #包含
driver.find_element_by_xpath("//a[starts-with(@href,'in')]").click() #以什么开头
#//div[starts-with(@id,'in')] 选择id属性以in开头的 4、利用两个元素属性进行唯一定位:and、or
driver.find_element_by_xpath("//*[@id='kw' and @name='wd']")
Selenium基于Python web自动化基础一 -- 基础汇总及简单操作的更多相关文章
- Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- Selenium基于Python web自动化测试框架 -- PO
关于selenium测试框架首先想到的就是PO模型,简单说下PO模型 PO模型的概念和理解: PO就是一个设计思想,将代码以页面为单位进行组织,针对这个页面上的所有信息.相关操作都放到一个类中,从而使 ...
- 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...
- Python Web 应用:WSGI基础
在Django,Flask,Bottle和其他一切Python web 框架底层的是Web Server Gateway Interface,简称WSGI.WSGI对Python来说就像 Servle ...
- python + web自动化,点击不生效,提示“selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (117, 674)”
前言: 在做web自动化时,遇到一个缩放了浏览器比例的操作,从100%缩小到80%,再进行点击的时候,弹出报错信息,无法点击 selenium.common.exceptions.ElementCli ...
- Selenium基于Python 进行 web 自动化测试
配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver ...
- 初识TPOT:一个基于Python的自动化机器学习开发工具
1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...
- 【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作
当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码: 1.首先新建配置文件*.ini格式 config.ini [db] #基础地址: baseurl = http ...
- 基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)
目录 1 准备工作 2 具体实施 1 准备工作 什么是Redis? Redis:一个高性能的key-value数据库.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使 ...
随机推荐
- 【Spark】Spark容错机制
引入 一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新. 面向大规模数据分析,数据检查点操作成本非常高,须要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带 ...
- 条款八: 写operator new和operator delete时要遵循常规
自己重写operator new时(条款10解释了为什么有时要重写它),很重要的一点是函数提供的行为要和系统缺省的operator new一致.实际做起来也就是:要有正确的返回值:可用内存不够时要调用 ...
- Apple Swift编程语言新手教程
文件夹 1 简单介绍 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简单介绍 今天凌晨Apple刚刚公布了Swift编程 ...
- HDU-3295-An interesting mobile game(BFS+DFS)
Problem Description XQ,one of the three Sailormoon girls,is usually playing mobile games on the clas ...
- DG备库磁盘空间满导致无法创建归档
上周五去某客户那里做数据库巡检.是window 2008系统上10g的一套NC系统的库,已经配置了DG,可是巡检时发现数据库报错: Tue Nov 11 10:13:57 2014 LNS: Stan ...
- Windows 驱动开发 - 7
在<Windows 驱动开发 - 5>我们所说的读写操作在本篇实现. 在WDF中实现此功能主要为:EvtIoRead和EvtIoWrite. 首先,在EvtDeviceAdd设置以上两个回 ...
- 关于ListView的setEmptyView没效果的问题
使用listView或者gridView时,当列表为空时.有时须要显示一个特殊的empty view来提示用户,普通情况下,假设你是继承ListActivity.仅仅要 TextView tv= ne ...
- TensorFlow的安装与CNN测试
0.说明 在Google开源该框架之后便使用真实K40m卡测试,由于生产环境是CentOS6.6的操作系统,但是该框架需要在Python2.7环境下执行,CentOS6.6下折腾了一天没搞定,后来换成 ...
- Credit Risk Scorecards Credit Risk Modeling 评分卡 KS AR
https://cn.mathworks.com/help/finance/creditscorecard.validatemodel.html?requestedDomain=www.mathwor ...
- 编译android framework的例子【转】
本文转载自:http://blog.csdn.net/brucexu1978/article/details/7610358 在开发过程中,尤其是Framework相关开发时,有时候需要重新编译资源文 ...