web端自动化——webdriver驱动
1.1Edge浏览器(不过,Edge浏览器只能运行于 Windows 10)
Edge驱动的下载地址,复制链接http://go.microsoft.com/fwlink/?LinkId=619687
下载MicrosoftWebDriver.msi 文件。双击安装,将安装目录添加到系统环境变量path下,或将安装文件夹下的 MicrosoftWebDriver.exe文件复制到Python安装目录下。
下面就可以使用Edge浏览器运行测试脚本了。
baidu.Py
from selenium import webdriver
from time import *
driver = webdriver.Edge()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Edge")
driver.find_element_by_id("su").click()
sleep(5)
driver.close()
1.2 Chrome浏览器
把下载好的驱动包chromedriver.exe解压出来,放在本机谷歌浏览器安装目录下的Application目录中(我的安装路径是:C:\Users\Administrator\AppData\Local\Google\Chrome\Application,具体看你们安装的路径),然后配置环境变量在path中添加chromedriver.exe的路径。chromedriver驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
from selenium import webdriver
from time import *
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Chrome")
driver.find_element_by_id("su").click()
sleep(5)
driver.close()
1.3 Firefox浏览器
把下载好的驱动包geckodriver.exe解压出来,放在本机火狐浏览器安装目录下的Application目录中(我的安装路径是:C:\Program Files (x86)\Mozilla Firefox,具体看你们安装的路径),然后配置环境变量在path中添加geckodriver.exe的路径。geckodriver驱动下载地址:https://github.com/mozilla/geckodriver/releases/
from selenium import webdriver
from time import *
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Firefox")
driver.find_element_by_id("su").click()
sleep(5)
driver.close()
1.4 IE浏览器
驱动下载地址:https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver【要是连不上,请翻墙】
使用RF在ie浏览器上测试的同学,务必检查以下几个设置:
1、IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上)(工具> internet选项>安全)
2、IE选项设置的连接页中,局域网设置里的代理服务器设置,不能勾选。如果需要配置代理,请使用上面的pac自动配置脚本来使用代理。(工具> internet选项>安全)
3、IE页面的显示比例要为100%
4、下载对于版本的IEDriverServer.exe文件,放到环境变量path路径的目录里或把他所在的目录加到path环境变量中。(我的IE安装路径是:C:\Program Files\Internet Explorer,具体看你们安装路径)
from selenium import webdriver
from time import *
driver = webdriver.Ie()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Ie")
driver.find_element_by_id("su").click()
sleep(5)
driver.close() 如果不会手动设置环境变量,那么可以通过如下脚本来设置IE浏览器驱动的环境变量并运行脚本:
import os
from selenium import webdriver
from time import *
IEDriverServer = "C:\Program Files\Internet Explorer\IEDriverServer.exe"
os.environ["webdriver.ie.driver"] = IEDriverServer
driver = webdriver.Ie(IEDriverServer)
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Ie")
driver.find_element_by_id("su").click()
sleep(3)
driver.quit()
1.5 Opera浏览器
OperaChromiumDriver驱动支持。
驱动下载地址:https://sites.google.com/a/chromium.org/chromedriver/home
下载对应版本的operadriver*.zip,解压后将得到operadriver.exe文件,同样将其放到opera浏览器安装目录下,原因同上。
1.6 Safari浏览器
Safari为苹果公司的浏览器,最早支持MAC平台,不过,现在己经支持Windows平台。与其他浏览器有所不同,Safari浏览器没有相应的驱动文件,它的驱动被集成到了Selenium Server中,所以,需要通过Remote配置运行。
首先,在Windows命令提示符下启动Selenium Server。
>java -jar selenium-server-standalone-3.141.0.jar
然后,运行脚本。
baidu1.py
from selenium.webdriver import Remote
driver = Remote(command_executor='http://192.168.1.180:4444/wd/hub',
desired_capabilities={'platform':'ANY',
'browserName':'safari',
'version':'',
'javascriptEnabled':True
})
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("safari")
driver.find_element_by_id("su") .click()
driver.quit()
1.7 HtmlUnit模式
HtmlUnit 官方网站:http://htmlunit.sourceforge.net/
HtmlUnit是一款开源的Java页面分析工具,读取页面后,可以有效地使用HtmlUnit分析页面上的内容。项目可以模拟浏览器运行,被誉为Java浏览器的开源实现。这个没有界面的浏览器,其运行速度非常迅速。Selenium Server中同样包含了HtmlUnit驱动。
首先,在Windows命令提示符下启动Selenium Server
>java -jar selenium-server-standalone-3.141.0.jar
baidu2.py
from selenium.webdriver import Remote
driver = Remote(command_executor='http://192.168.1.180:4444/wd/hub',
desired_capabilities={'platform':'ANY',
'browserName':'htmlunit',
'version':'',
'javascriptEnabled':True
})
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("htmlunit")
driver.find_element_by_id("su") .click()
driver.get_screenshot_as_file('D:\\run_ok.jpg')
driver.quit()
1.8 PhantomJS 模式
PhantomJS 官方网站:http://phantomjs.org/
PhantomJS 是一个拥有JavaScriptAPI的无界面WebKit内核,与HtmlUnit类似。正如我们所知道的,WebKit是Safari和其他一些浏览器使用的布局引擎。因此,PhantomJS是一个浏览器,而且是一个无界面的浏览器。这意味着渲染后的网页实际上绝不会显示。这或许有些不可思议,所以我们可以把它作为一个可编程的浏览器终端。
在使用PhantomJS之前,需要先下载它。PhantomJS支持Windows、MAC、Linux等平台,我们可以根据自己的环境选择相应的版本进行下载。
下载完成后解压得到phantomjs.exe程序,将其复制到Python安装目录下,即可通过PhantomJS模式运行测试脚本。
baidu3.py
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from time import *
driver=webdriver.PhantomJS()
driver.get("http://www.baidu.com")
try:
driver.find_element_by_id("kw").send_keys("phantomjs")
driver.find_element_by_id("su") .click()
sleep(1)
driver.get_screenshot_as_file('D:\\baidu_ok.jpg')
except WebDriverException as msg:
print(msg)
driver.get_screenshot_as_file('D:\\baidu_error.jpg')
finally:
driver.quit()
web端自动化——webdriver驱动的更多相关文章
- 接口自动化、移动端、web端自动化如何做?
1.<Python+Appium移动端自动化项目实战>-带您进入APP自动化测试的世界https://yuedu.baidu.com/ebook/765b38a5690203d8ce2f0 ...
- web端自动化——Selenium3+python自动化(3.7版本)-火狐62版本环境搭建
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...
- web端自动化——Selenium3+python自动化(3.7版本)-chrome67环境搭建
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...
- web端自动化——selenium3用法详解
selenium中文学习文档链接:https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html selenium3+ ...
- web端自动化——自动化测试准备工作
准备工作# 在开始自己项目的自动化测试之前,我们最好已经完成了下面的准备工作: 1.熟悉待测系统 对项目的待测系统整体功能和业务逻辑有比较清晰的认识. 2.编写系统的自动化测试用例大纲和自动化测试用例 ...
- 低代码开发,推荐一款Web 端自动化神器:Automa
1. Automa介绍 又到了优秀工具推荐的时候了,今天给大家分享一款前端自动化操作神器: Automa . 首先了解一下Automa是什么? Automa它定位是一款 Chrome 插件,也就意味着 ...
- web端自动化——python多线程
Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁.threading基于Java的线程模型设计. 锁(Lock)条件变 ...
- web端自动化——Remote应用
Selenium Grid允许同时并行地.在不同的环境上运行多个测试任务.这里主要演示一下怎么使用Selenium Grid. 准备: 1. 需要两台机子 2.两台机子分别安装好JDK环境 3.两台机 ...
- web端自动化——selenium Page Object设计模式
Page Object设计模式的优点如下: ① 减少代码的重复. ② 提高测试用例的可读性. ③ 提高测试用例的可维护性,特别是针对UI频繁变化的项目. 当为Web页面编写测试时,需 ...
随机推荐
- 从0到N建立高性价比的大数据平台(转载)
2016-07-29 14:13:23 钱曙光 阅读数 794 原文链接:https://blog.csdn.net/qiansg123/article/details/80124521 声明:本文为 ...
- Hadoop 格式化namenode时报错警告:WARN common.Util: Path /data/dfs/name should be specified as a URI in configuration
格式化namenode时报错警告:WARN common.Util: Path /data/dfs/name should be specified as a URI in configuration ...
- Oracle trunc() 日期、数字截取函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...
- Kylin 1 背景、历史与使命
1.1 背景和历史 今天,大数据领域的发展如火如荼,各种新技术层出不穷,整个生态欣欣向荣.作为大数据领域最重要的技术——Apache Hadoop,从诞生至今已有10周年.它最初只是致力于简单的分布式 ...
- 百度UEditor富文本插件的使用
这个富文本还是功能挺全的. 官方文档地址 下载地址 常用接口 较完整代码仓库 UEditor下载后直接运行即可访问,但在上传文件时需要单独再做配置. [很详细的SpringBoot整合UEditor教 ...
- noi.ac #43 dp计数
\(sol\) 状态 \[f_{i, dis_1, dis_2, dis_3, dis_4}\] 表示到了第 \(i\) 层,其中 \(dis_{1}\) 表示第一根柱子剩下的最靠上的横木到当前 \( ...
- 计数 luogu 4223 期望逆序对
https://www.luogu.org/problemnew/show/P4223 期望乘以\(\binom {n}{2}^k\)变成了计数问题 我们考虑每一组数\((A, B)\)产生的贡献CC ...
- codevs 1683 车厢重组
1683 车厢重组 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 白银 Silver 题目描述 Description 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥 ...
- 如何选择梯度下降法中的学习速率α(Gradient Descent Learning Rate Alpha)
梯度下降算法的任务是寻找参数θ,使之能够最小化损失函数. 那么梯度下降法中的学习速率α应该如何选择呢?通常我们画出损失函数随迭代次数增加而变化的曲线. 可能会得到如下的一条曲线,x轴表示迭代次数,y轴 ...
- 10分钟用Python告诉你两个机器人聊天能聊出什么火花
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 现在不是讲各种各样的人工智能嘛,AI下棋,AI客服,AI玩家--其实我一直很好奇,两个AI碰上会怎样,比如一起下棋,一起打游戏-- 今天做个 ...