selenium原理和尝试
引用文章:https://www.cnblogs.com/Albert-Lee/p/6238866.html
Selenium是一个自动化测试框架。因为它能够模拟人工操作,比如能在浏览器中点击按钮、在输入框中输入文本、自动填充表单、还能进行浏览器窗口的切换、对弹出窗口进行操作。也就是说你能手动做的东西,基本都能用它来实现自动化!
Selenium 的使用
因为PhatomJS没有界面,在使用的时候没有直观感受。所以,我们暂时使用Chrome浏览器代替PhatomJS。
首先下载Chrome浏览器驱动:下载地址,选择自己的系统版本,然后下载。这是一个压缩包,解压后存到一个目录中,然后把该目录添加到环境变量。
from selenium import webdriver #导入Selenium的webdriver
from selenium.webdriver.common.keys import Keys #导入Keys driver = webdriver.Chrome() #指定使用的浏览器,初始化webdriver
driver.get("http://www.python.org") #请求网页地址
assert "Python" in driver.title #看看Python关键字是否在网页title中,如果在则继续,如果不在,程序跳出。
elem = driver.find_element_by_name("q") #找到name为q的元素,这里是个搜索框
elem.clear() #清空搜索框中的内容
elem.send_keys("pycon") #在搜索框中输入pycon
elem.send_keys(Keys.RETURN) #相当于回车键,提交
assert "No results found." not in driver.page_source #如果当前页面文本中有“No results found.”则程序跳出
driver.close() #关闭webdriver
引用结束;
在执行这个代码的时候,系统有可能会报错:

这个报错其实是少安装了chromedriver,这是一个用来启动chrome浏览器的程序,下载地址:http://chromedriver.storage.googleapis.com/index.html,安装在chrome下的Chrome\Application\,并增加路径,便可执行。
记得要对应自己chrome的版本号去下载这个chromedriver。
selenium原理和尝试的更多相关文章
- Selenium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊 ...
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- web自动化:selenium原理和元素定位(一)
一. Selenium2 WebDriver 当Selenium2.x提出了WebDriver的概念后,它提供了完全另外的一种方式与浏览器交互 那就是利用浏览器原生的API,封装成一套更加面向对象的S ...
- selenium原理应用 - 利用requests模拟selenium驱动浏览器
前言 selenium是一个web自动化测试的开源框架,它支持多语言:python/java/c#… 前面也有一篇文章说明了,selenium+浏览器的环境搭建. selenium支持多语言,是因为s ...
- selenium原理解析
相信很多测试小伙伴儿都听过或者使用过web自动化selenium,那您有没有研究过selenium的原理呢?为什么要使用webdriver.exe,webdriver.exe是干啥用的?seleniu ...
- Selenium原理
from selenium import webdriver:导入webdriver模块 当导入webdriver模块时,会执行\selenium\webdriver目录下的__init__.py ...
- selenium原理学习笔记
一,selenium工作原理(参考文档:https://blog.csdn.net/dawei_yang000000/article/details/87639928) 自动化测试代码发送请求给到浏览 ...
- 【java+selenium3】自动化基础小结+selenium原理揭秘 (十七)
一.自动化实现原理 1.创建驱动对象 (1) 首先加载浏览器安装目录下的exe文件 (2) 其次是加载可执行驱动的exe文件,监听等待客户端发送的web service请求. 底层原理如下: 1. ...
随机推荐
- Jmeter接口测试-基于nodejs的to do list项目说明
一.了解测试项目 我们的测试项目叫做smile_task,简称sm_task.这是一个基于nodejs超简单的todo list. 它的主要流程就是:输入标题描述---点击创建一个任务---编辑修改任 ...
- oracle数据库列的操作
本章和大家分享一下如何在数据库中进行列的一些相关操作. 1.增加列名 (我们先来看一个原始版本) 下面我们增加一个列名tel 记住,增加列时需要把列对应的数据类型要说明,不然会报错. alter t ...
- C#中GUID的生成格式(Guid.ToString方法 )
GUID 是微软对UUID这个标准的实现.UUID是由开放软件基金会(OSF)定义的.UUID还有其它各种实现,不止GUID一种 public string ToString( string ...
- Dennis Gabor与全息摄影
Dennis Gabor:1900年6月5日出生在匈牙利首都布达佩斯,1971年诺贝尔物理学奖授予英国伦敦帝国科技学院的匈牙利裔物理学家伽博(Dennis Gabor,1900-1979),以表彰他发 ...
- oracle列出两个日期间所有日期
select date '2010-1-1'+level-1 dates from dual connect by level <date '2010-1-10' -date '2010-1-1 ...
- js Date 生成某年某月的天数
$(function () { //构造一个日期对象: var day = new Date(2014, 2, 0); //获取天数: var daycount = day.getDate(); al ...
- 快速获取.NET DLL文件编译时间
当用户现场汇报问题给我们, 我们比较关心的就有用户现场的DLL是什么版本号,是什么时候编译的. 有没有什么办法得到呢?办法是有的. 在网上找了很久终端找到这个软件非常地好用. 直接把文件拖到软件里就行 ...
- Sharepoint2013搜索学习笔记之自定义结果精简分类(八)
搜索结果页左边的结果精简分类是可以根据搜索结果自定义的,在搜索的部门日志结果集页面上我搜索测试关键字,左边分类导航在默认分类的基础上增加了一个日志类型的分类,如下图: 要实现这个效果,导航到之前定义的 ...
- C# socket请求的名称有效 但是找不到请求的类型的数据
程序以前在xp下运行一直良好,但将安装在win7下面却出现"请求的名称有效 但是找不到请求的类型的数据"错误,程序底层通信是基于socket,时间久了就会出现系统黑屏死机,但并不知 ...
- 在iis7.5上部署asp.net mvc5
部署mvc5跟部署mvc4是一样的,唯一不同的是需要修改一下web.config的配置 在web.config中加入一下节点即可 <system.webServer> <module ...