Java+Selenium3方法篇32-处理不安全连接
2017-06-30 22:51
351 查看
本篇介绍webdriver处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续打开不安全的链接。举例来说,大家都应该用过12306网站购票,点击新版购票,是不是会出现如下的界面。
![](http://img.blog.csdn.net/20170630223111563?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTU0MTk0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
先来看看chrome上如何处理这个,跳过图中这个步骤,直接到买票页面。
package lessons;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
public class HandPopup {
public static void main(String[] args) throws Exception {
// 创建DesiredCapabilities类的一个对象实例
DesiredCapabilities cap=DesiredCapabilities.chrome();
// 设置变量ACCEPT_SSL_CERTS的值为True
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
// 打开带capability设置选项的浏览器
WebDriver driver=new ChromeDriver(cap);
driver.manage().window().maximize();
driver.get("https://kyfw.12306.cn/otn");
}
}
然后,我们来看看firefox上如何实现这个过程。
package lessons;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
public class HandPopup {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");
// 创建 firefox profile
FirefoxProfile profile = new FirefoxProfile();
// 把这项值设置为True,就是接受不可信任的证书
profile.setAcceptUntrustedCertificates(true);
// 打开一个带上门设置好profile的火狐浏览器
WebDriver driver = new FirefoxDriver(profile);
driver.manage().window().maximize();
driver.get("https://kyfw.12306.cn/otn");
}
}
运行发现,chrome的可以实现目的,firefox上却不可以。我也不知道什么鬼东西,只能推到geckodriver.exe的bug,因为之前selenium2.x是可以在火狐上实现这个功能的。
先来看看chrome上如何处理这个,跳过图中这个步骤,直接到买票页面。
package lessons;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
public class HandPopup {
public static void main(String[] args) throws Exception {
// 创建DesiredCapabilities类的一个对象实例
DesiredCapabilities cap=DesiredCapabilities.chrome();
// 设置变量ACCEPT_SSL_CERTS的值为True
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
// 打开带capability设置选项的浏览器
WebDriver driver=new ChromeDriver(cap);
driver.manage().window().maximize();
driver.get("https://kyfw.12306.cn/otn");
}
}
然后,我们来看看firefox上如何实现这个过程。
package lessons;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
public class HandPopup {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");
// 创建 firefox profile
FirefoxProfile profile = new FirefoxProfile();
// 把这项值设置为True,就是接受不可信任的证书
profile.setAcceptUntrustedCertificates(true);
// 打开一个带上门设置好profile的火狐浏览器
WebDriver driver = new FirefoxDriver(profile);
driver.manage().window().maximize();
driver.get("https://kyfw.12306.cn/otn");
}
}
运行发现,chrome的可以实现目的,firefox上却不可以。我也不知道什么鬼东西,只能推到geckodriver.exe的bug,因为之前selenium2.x是可以在火狐上实现这个功能的。
相关文章推荐
- java应用 tomcat中实现https安全连接的方法
- java应用tomcat中实现https安全连接的方法
- java中处理http连接超时的方法
- java应用 tomcat中实现https安全连接的方法
- 【java中处理http连接超时的方法】
- java应用 tomcat中实现https安全连接的方法
- java连接FTPSERVER导致的错误处理方法
- Java+Selenium3方法篇26-处理Alert弹窗
- java中处理http连接超时的方法
- Java+Selenium3方法篇34-如何处理日历控件
- Java+Selenium3方法篇22-利用Javascript处理竖向滚动条
- Java+Selenium3方法篇37-Robot类处理文件上传
- java中处理http连接超时的方法
- java 数据事务处理 (必须在同一个连接,跨连接此方法无效,得用JPA)
- Java+Selenium3方法篇38-AutoIt工具处理文件上传
- Java项目安全处理方法
- java中处理http连接超时的方法
- JUNIT的java.lang.security安全问题以及classLoader的处理方法
- JAVA基础(六) 处理连接不上MYSQL数据库的方法