[Selenium] 如何绕过 IE 的安全模式
自从 IE7 引入 Protected Mode 以来, IE 浏览器的安全性的确得到了一定程度的提高。其原理从本质来讲,在浏览某些需要启用保护模式的页面时,会开启一个新的浏览器会话以完成任务,而此时你无法控制前一个会话中的 COM 对象。随之而来的问题是,WebDriver 在这种情况下会遇到如下错误提示信息:
org.openqa.selenium.WebDriverException:Unexpected error launching
Internet Explorer.Protected Mode must be set to the same value(enabled or disabled) for all zones.
解决方案1:
可通过设置 Internet Explorer 浏览器对应所有 Zone 的 Protected Mode 一致来达到目标。Zone 包括 Internet、Local intranet、Trusted sites 和 Restricted sites。这4个 Zone 上的选项 Enable Protected Mode 要么全部勾选,要么全部不勾选
解决方案2:
解决方案1对于只有少量的 Windows 测试机器而言具有可行性。而对于具有大规模的 Windows 测试机器的机构而言,去设置每一台 Windows 机器上的 Internet Explorer 的 Protected Mode 的工作量过于庞大。有没有更加高效的解决方案来达到同样的效果呢个?答案是通过设置 Internet Explorer Driver 的 Capability 为 IE_ENSURE_CLEAN_SESSION 达到目的。示例代码如下:
public class testInternetExplorerDriver{
public static void main(String[] args){
System.setProperty("webdriver.ie.driver", "D:\Driver\IEDriverServer_Win32_2.37.0_latest\IEDriverSer.exe");
DesiredCapabilities capab = DesiredCapabilities.internetExplorer();
capab.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
WebDriver driver = new InternetExplorerDriver(capab);
driver.get("http://www.baidu.com");
}
}
[Selenium] 如何绕过 IE 的安全模式的更多相关文章
- Python Selenium Cookie 绕过验证码实现登录
Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1. ...
- 网络爬虫之使用pyppeteer替代selenium完美绕过webdriver检测
1引言 曾经使用模拟浏览器操作(selenium + webdriver)来写爬虫,但是稍微有点反爬的网站都会对selenium和webdriver进行识别,网站只需要在前端js添加一下判断脚本,很容 ...
- 『心善渊』Selenium3.0基础 — 21、Selenium实现绕过验证码进行登陆
目录 1.验证码问题 2.处理验证码的方法 3.Selenium绕过验证码登陆的实现 4.总结 5.补充练习 1.验证码问题 对于Web应用来说,大部分的系统在用户登录时,都要求用户输入验证码.验证码 ...
- 使用 mitmdump 进行 selenium webDriver绕过网站反爬服务的方法 pdd某宝 可用
安装: pip install mitmproxy 新建一个脚本 脚本代码: from mitmproxy import ctx injected_javascript = ''' // over ...
- selenium+python 绕过登录进行测试
多个Py文件进行多线程测试时,每次登录是很麻烦的事情,所以通过cookie登录,可以绕过登录操作 但是至少需要正常登录一次才能获取到cookie 然后使用cookies进行登录
- Python - Cookie绕过验证码登录
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 另一篇博文 P ...
- php安全过滤类
/*ansic码-Url码表: http://www.w3school.com.cn/tags/html_ref_urlencode.html ---------------------------- ...
- Java %c0%ae 安全模式绕过漏洞
漏洞类型:安全模式绕过漏洞 漏洞描述:在Java端"%c0%ae"解析为"\uC0AE",最后转义为ASCCII低字符-".".通过这个方法 ...
- Selenium+Java自动化之如何优雅绕过验证码
前言: 验证码问题对于每个ui自动化的同学而言,相信都是个蛋疼的问题,对于验证码的处理我个人不提倡破解,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你们公司的验证码很容易被你破解 ...
随机推荐
- 使用icomoon把svg图片生成字体图标
今天看了使用icomoon来将svg转换成图标字体,本来是不会使用别人给的svg,也不清楚具体的好处是什么,查了svg以后,越来越懵,svg挺好的为什么要转成图标字体呢. 一.SVG介绍 SVG 是一 ...
- 创建ROS工作空间和包
一.创建工作空间 mkdir -p ~/openni_ws/src cd ~/openni_ws catkin_make //在catkin工作空间(openni_ws)下catkin_ ...
- HNOI_2002 营业额统计(Splay)
此题可以用STL的multiset解决,也可以手打一棵伸展树(Splay)来求前驱与后驱. 使用multiset: #include<iostream> #include<set&g ...
- configure: error: Cannot find php_pdo_driver.h.
安装pdo_mysql cd /usr/local/src/php-5.4.0/ext/pdo_mysql/ /usr/local/php/bin/phpize # /usr/local/php为 ...
- 新建JRapid项目(idea创建maven多模块项目)
1.第一步,新建项目(Create New Project) 2.parent项目,不勾选“Crate from archetype”,直接单击“Next”. 3.groupid填写com.codin ...
- VS调试时不加载符号
加载符号,能够让调试时进入系统的dll中,甚至能达到汇编语言的深度,让你调试时能够逐行进行.但是加载符号的话,会使得每次调试,增加进入到首个断点的时间. 而且有时候也非必要加载符号,它的取消可以使用下 ...
- sourcetree帮助文档
Overview SourceTree可以在bookmarks界面跟踪所有的git和mercurial项目.可以概览工程中是否有需要提交的文件等.添加新的bookmark很简单,可以通过两种方式,通过 ...
- WIP - 离散任务点击组件-错误:LOCATOR.CONTROL 的变元无效:ORG_LOCATOR_CONTROL=''
Getting Error "Invalid Argument to LOCATOR.CONTROL: ORG_LOCATOR_CONTROL='' in Material Requirem ...
- jmeter.properties控制聚合报告的用户响应时间设置和smmary results
jmeter.properties的配置Summariser控制输出Summary Results,可以显式rt和tps等信息 Aggregate Report配置可以控制聚合报告的内容,控制90%用 ...
- 【深度探索c++对象模型】关于对象
Linux进程的五个段 BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属 ...