(四)selenium打开和关闭浏览器
一、Selenium简介
Selenium3.0主要变更特性:
①移除seleniumRC
②FireFox和Safari推出了自己的driver(geckodriver 和 Safaridriver)
③Selenium3 支持 IE9+,Selenium2 支持 7-11
④全面拥抱java8
二、Selenium实现自动打开浏览器
1.打开火狐浏览器
注意:火狐48以下版本可以直接使用webdriver自带的进行打开浏览器
火狐48以上版本则需要使用版本对应的geckodriver
public class OpenBrowserTest {
@Test
/*火狐是默认安装在C盘的启动方法*/
/* public void openFirefox1(){
WebDriver webDriver = new FirefoxDriver();
}*/
/*火狐不是默认安装在C盘 需要写上路径*/
public void openFirefox2(){
//指定firefox 安装路径
System.setProperty("webdriver.firefox.bin","F:\\Program Files (x86)\\Firefox\\Mozilla Firefox\\firefox.exe");
//启动firefox浏览器
WebDriver webDriver = new FirefoxDriver();
}
}
2.打开chrome浏览器
右上角->帮助-->关于chrome-->查看当前chrome版本-->到指定的地址 去下载对应的ChromeDriver
附chromedriver与chrome的对应关系表:
chromedriver版本 | 支持的Chrome版本 |
---|---|
v2.40 | v66-68 |
v2.39 | v66-68 |
v2.38 | v65-67 |
v2.37 | v64-66 |
v2.36 | v63-65 |
v2.35 | v62-64 |
v2.34 | v61-63 |
v2.33 | v60-62 |
v2.32 | v59-61 |
v2.31 | v58-60 |
v2.30 | v58-60 |
v2.29 | v56-58 |
v2.28 | v55-57 |
v2.27 | v54-56 |
v2.26 | v53-55 |
v2.25 | v53-55 |
v2.24 | v52-54 |
v2.23 | v51-53 |
v2.22 | v49-52 |
v2.21 | v46-50 |
v2.20 | v43-48 |
v2.19 | v43-47 |
v2.18 | v43-46 |
v2.17 | v42-43 |
v2.13 | v42-45 |
v2.15 | v40-43 |
v2.14 | v39-42 |
v2.13 | v38-41 |
v2.12 | v36-40 |
v2.11 | v36-40 |
v2.10 | v33-36 |
v2.9 | v31-34 |
v2.8 | v30-33 |
v2.7 | v30-33 |
v2.6 | v29-32 |
v2.5 | v29-32 |
v2.4 | v29-32 |
映射表转自:
http://blog.csdn.net/huilan_same/article/details/51896672
从对应的地址下载 与自己的浏览器对应的 chromedriver版本:http://chromedriver.storage.googleapis.com/index.html
project-->右键-->new--->Directory-->drivers-->把当前下载的拉进来--->则这个目录为写在webdriver内的property的目录。
@Test
public void openChrome(){
/*将下载好的chrome驱动拉进来,输入驱动路径*/
System.setProperty("webdriver.chrome.driver","D:\\Program Files\\Java\\Webautomation\\drivers\\chromedriver.exe");
WebDriver webDriver = new ChromeDriver();
}
3.打开IE浏览器
进入指定页下载对应版本的IEDriver 进入索引页,首先选择版本号,IEDriverServer的版本号和Selenium的版本号一定要一致 建议选win32 如下:
IEDriverServer_Win32_2.53.0.zip
下载地址:http://selenium-release.storage.googleapis.com/index.html
操作与下载chromedriver类似,下载完后解压,解压后路径复制进对应的driver地址。
@Test
public void openIE(){
/*将下载好的IE驱动拉进来建议下载与webdriver一样的32位的版本,输入驱动路径*/
System.setProperty("webdriver.ie.driver","D:\\Program Files\\Java\\Webautomation\\drivers\\IEDriverServer.exe");
WebDriver webDriver = new InternetExplorerDriver();
}
启动ie报错:
Started InternetExplorerDriver server (32-bit)
2.53.0.0
Listening on port 27578
Only local connections are allowed
org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Browser zoom level was set to 150%. It should be set to 100% (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 3.17 seconds
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'DESKTOP-UA0J10K', ip: '192.168.0.102', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_181'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
针对windows vista和windows 7上的IE7或者更高的版本,必须在IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上),即保持四个区域的保护模式是一致的。如下图所示:
针对IE10和更高的版本,必须在IE选项设置中的高级页中,取消增强保护模式。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\Main\FeatureControl\FEATURE_BFCACHE
64位的windows,key值为
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet
Explorer\Main\FeatureControl\FEATURE_BFCACHE
如果key值不存在,就添加。之后在key内部创建一个iexplorer.exe,DWORD类型,值为0。


上对应的网站下载对应的driver
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
往下拉,可以看到对应版本下载,放到指定文件夹
@Test
public void openEdge(){
System.setProperty("webdriver.edge.driver","D:\\Program Files\\Java\\Webautomation\\drivers\\MicrosoftWebDriver.exe");
WebDriver webDriver =new EdgeDriver();
}
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test; public class OpenBrowserTest {
@Test
/*火狐是默认安装在C盘的启动方法*/
/* public void openFirefox1(){
WebDriver webDriver = new FirefoxDriver();
}*/
/*火狐不是默认安装在C盘 需要写上路径*/
public void openFirefox2(){
//指定firefox 安装路径
System.setProperty("webdriver.firefox.bin","F:\\Program Files (x86)\\Firefox\\Mozilla Firefox\\firefox.exe");
//启动firefox浏览器
WebDriver webDriver = new FirefoxDriver();
}
@Test
public void openChrome(){
/*将下载好的chrome驱动拉进来,输入驱动路径*/
System.setProperty("webdriver.chrome.driver","D:\\Program Files\\Java\\Webautomation\\drivers\\chromedriver.exe");
WebDriver webDriver = new ChromeDriver();
}
@Test
/* DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
WebDriver oWebDriver = new InternetExplorerDriver(ieCapabilities);*/
public void openIE(){
/*将下载好的IE驱动拉进来建议下载与webdriver一样的32位的版本,输入驱动路径*/
System.setProperty("webdriver.ie.driver","D:\\Program Files\\Java\\Webautomation\\drivers\\IEDriverServer.exe");
WebDriver webDriver = new InternetExplorerDriver();
}
@Test
public void openEdge(){
System.setProperty("webdriver.edge.driver","D:\\Program Files\\Java\\Webautomation\\drivers\\MicrosoftWebDriver.exe");
WebDriver webDriver =new EdgeDriver();
} }
三、selenium关闭浏览器
前提是先下载了对应的浏览器的driver并能进行正常打开浏览器
关闭当前窗口
driver.close();
关闭当前窗口并退出
driver.quit();
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test; public class ClosedBrowserTest {
@Test
public void closedChrome() throws InterruptedException {
//设置chrome路径
System.setProperty("webdriver.chrome.driver","D:\\Program Files\\Java\\Webautomation\\drivers\\chromedriver.exe");
//实例化chromeDriver
WebDriver driver = new ChromeDriver();
//等待5000ms,马上开马上关闭则不明显
Thread.sleep();
//关闭当前窗口
//driver.close();
//完全退出浏览器 避免浏览器资源被耗尽,一般只会使用driver.close();
driver.quit();
}
}
(四)selenium打开和关闭浏览器的更多相关文章
- Python+selenium打开或关闭浏览器
Python+selenium打开或关闭浏览器 一.打开或关闭火狐浏览器 1. 初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打 ...
- Python + Selenium 基础篇 - 打开和关闭浏览器
1.首先要下载浏览器对应的driver,并放到你的python安装目录 Chrome浏览器(chromedriver): http://npm.taobao.org/mirrors/chromedri ...
- Python+Selenium基础篇-打开和关闭火狐浏览器
本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打开fiefox浏览器.首先需要去下载一个driver插件geckodriver. ...
- 🔥《手把手》系列基础篇之2-python+ selenium-打开和关闭浏览器(详细)
1. 简介 本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打开fiefox浏览器.首先需要去下载一个driver插件geckod ...
- Selenium Java关闭浏览器
在学习selenium的过程中发现一个问题,各种博客/教程都是教人用selenium的quit()和close()方法关闭浏览器. 但这不是我要的结果.这两个方法的前提是,用webdriver打开浏览 ...
- selenium 打开浏览器
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebE ...
- Selenium 3----窗口截图+关闭浏览器
窗口截图 get_screenshot_as_file() 自动化用例是由程序执行的,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看 ...
- javascript 使用 load 和 unload 事件,解决浏览器打开和关闭时需要做的操作。
最近有一个业务,就是修改一个业务需要加上锁.也就是打开浏览器时,加锁.等用户操作完毕,关掉浏览器之后在把锁打开.一开始想问题很局限.只是想着,关闭浏览器解锁,刷新页面不做操作.然后就一直在找在调用un ...
- java+selenium打开浏览器实现后台静默运行
简介:java selenium搭建无界面浏览器 PhantomJS是一个基于Webkit的"无界面"(headless)浏览器,它会把网站加载到内存并执行页面上的JavaScri ...
随机推荐
- Jquery Plugins Jquery Validate
Jquery Validate 一.什么是Jquery Validate: jQuery Validate 插件为表单提供了强大的验证功能. 二.常用值: 1 required:true 必须输入 ...
- JVM之类加载机制
JVM之类加载机制 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程. 类加载五部分 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这 ...
- 性能测试常用sql语句
做了一段时间的性能测试,把自己在性能测试过程中,使用到的Oracle中用到的sql语句整理一番,做个备忘: (1)多个字段以某种格式拼接 Oracle方式:"||"字符串拼接符; ...
- C# Winform下一个热插拔的MIS/MRP/ERP框架(通用控件)
一直对商业控件不感冒, 结合日常工作, 我写了几个常用控件. 一.下拉框控件(仿Access下拉框:F4下拉,自动输入,支持单/多列显示),可在Datagridview中使用. 1.常规: 2.Dat ...
- 4.SVM
- 冒泡排序 思想 JAVA实现
已知一个数组78.75.91.36.72.94.43.64.93.46,使用冒泡排序将此数组有序. 冒泡排序是一个运行时间为O(N²)的排序算法. 算法思想:(已从小到大为例) 78.75.91.36 ...
- 2、Numpy常用函数
创建单位矩阵和读写文件使用eye()创建单位矩阵 # -*- coding: utf-8 -*- import numpy as np i = np.eye(3) print(i) 结果: [[ 1. ...
- 【webservice】Two classes have the same XML type name(转)
引言 需要调用另一个系统的提供的webservice接口,但是调用之后总是报错,用SoapUI测试接口却没有问题: 那就应该是代码的问题了,但是同样的代码也调用过其他系统却没有问题,不过最终还是解决了 ...
- [BZOJ 5330][SDOI2018] 反回文串
传送门 怎么说呢,一道不可多得的反演题吧,具体解释之后再补 #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) ...
- codeforces1097D Makoto and a Blackboard 数学+期望dp
题目传送门 题目大意: 给出一个n和k,每次操作可以把n等概率的变成自己的某一个因数,(6可以变成1,2,3,6,并且概率相等),问经过k次操作后,期望是多少? 思路:数学和期望dp 好题好题!! ...