IE浏览器调用

IE浏览器驱动添加

这里我用的是IEDriverServer_Win32_2.43.0.zip,下载后解压,把IEDriverServer.exe放在python安装目录,与python.exe在同一目录下,即可调用.

IE浏览器的调用

#coding=utf-8

from selenium importwebdriver

driver=webdriver.Ie()

url='http://www.baidu.com'driver.get(url)

driver.close()

说明:

1、【#coding=utf-8】为了防止乱码问题,以便在程序中添加中文注释,把编码统一为UTF-8,注意=两遍不要留空格,否则不起作用,另外【#_*_coding:utf-8_*_】的写法也可以达到相同的作用

2、【from selenium import webdriver】该步骤是导入selenium的webdriver包,只有导入selenium包,我们才能使用webdriver API进行自动化脚本的开发

3、【driver=webdriver.Ie()】这里将控制webdriver的Ie赋值给driver,通过driver获得浏览器操作对象,后就可以启动浏览器、打开网址、操作对应的页面元素了。

若IEDriverServer.exe没有放在python安装目录下,而自定义的目录,如:IE目录下,则直接使用上述代码是无法调用成功的,提示:"IEDriver executable needs to be available in the path. "因为在默认的路径下,无法找到IEDriver,所以需要为webdriver指定指定IEDriver的路径,如下:

#coding=utf-8

from selenium importwebdriverimportos

url='http://www.baidu.com'iedriver='C:\IEDriverServer.exe' #iedriver路径

os.environ["webdriver.ie.driver"] = iedriver #设置环境变量

driver =webdriver.Ie(iedriver)

driver.get(url)

driver.close()

说明:

1、 os.environ["webdriver.ie.driver"]是设置IEDriver的环境变量,设置为实际的IEDriver地址即可。

2、 若为chrom浏览器,则参数为:os.environ["webdriver.chrome.driver"]

关于https网站调用失败处理

上面介绍了,调用IE来打开对应的网页问题,但是在实际测试中,有些网站是采用https协议的,这时候IE浏览器会弹出如下窗口,一般手动选择后,才可进入登录界面,而在webdriver调用浏览器后,无法继续操作,那么该如何解决呢?

方法一:代码增加配置

首先,我们可以可以查看该网页的源码,分析下代码,可以看到下面部分信息:

继续浏览此网站(不推荐)。

述标记部分的,则是上图标记的地方,一般我们点击该图标后即可进入登录窗口,下面代码中通过调用javascript来操作浏览器的提示框,来跳过该提示即可:

#coding=utf-8

from selenium importwebdriver

driver=webdriver.Ie()

firsturl='https://172.172.110.8/Terminal/logon.do'driver.get(firsturl)

driver.get("javascript:document.getElementById('overridelink').click();")#解决IE提示问题

driver.close()

方法二:浏览器配置

方法二则是通过配置浏览器的方法,解决证书问题,方法如下:

1、点击【继续浏览此网页】后进入登录窗口,此时地址栏后面会出现【证书错误】提示

2、点击证书错误——查看证书,提示证书无效,则是因为证书不被信息,需要安装证书

3、弹出证书界面,选择安装证书

4、按向导操作,注意在下列步骤中需要选择证书位置

5、配置完成后,此时依然是无法登陆的,点击继续浏览后,弹出的错误提示为:不匹配的地址,如下,还需要继续配置

6、Internnet选项——高级下,去除下图中标记项的勾,然后保存

7、重新打开地址,此时仍然会弹出提示,选择继续浏览后,会发现上方的地址栏变为一个小锁,如右图,说明已经配置OK,后续在打开该地址就不会弹出错误选项了。

8、若还是无法登陆,可以在Internet选项—安全中:设置安全等级为低等级,并在高级选项下,将下属五项全部勾选后重启浏览器即可

关于调用IE浏览器的错误处理

运行过程中如果出现错误:WebDriverException: Message: u'Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.

解决方法

更改IE的internet选项->安全,将Internet/本地Internet/受信任的站定/受限制的站点中的启用保护模式全部去掉勾,或者全部勾上

参考资料

[1] 证书错误 导航已阻止 无法跳转 最终解决,

[2] webdriver+python 对三大浏览器的支持,

python接管已经打开ie浏览器_Selenium+Python浏览器调用:IE相关推荐

  1. 已解决selenium框架接管已经打开的谷歌浏览器(Python反反爬教程,亲测有效)

    已解决selenium框架接管已经打开的谷歌浏览器(Python反反爬教程,亲测有效) 文章目录 问题描述 解决方法 千人全栈VIP答疑群联系博主帮忙解决报错 问题描述 使用selenium自动化测试 ...

  2. python接管已经打开ie浏览器_使用selenium控制(接管)已打开的浏览器(chrome),并通过WebDriver值检测...

    在使用selenium进行自动化测试中我们有时会遇到这样的情况: 我们需要手动打开浏览器,进入到所需的页面,执行一些手动任务,如输入表单.输入验证码,登陆成功后,然后再开始运行自动化脚本. 这种情况下 ...

  3. python接管已经打开的浏览器_Python Webdriver 从新使用已经打开的浏览器实例

    由于Webdriver每次实例化都会新开一个全新的浏览器会话,在有些状况下须要复用以前打开未关闭的会话.好比爬虫,但愿结束脚本时,让浏览器处于空闲状态.当脚本从新运行时,它将继续使用这个会话工做.还就 ...

  4. python selenium 不打开浏览器_selenium+python自动化测试--解决无法启动IE浏览器及报错问题...

    前言:记录启动IE浏览器的报错及解决方法. 错误1: selenium.common.exceptions.WebDriverException: Message: 'IEDriverServer.e ...

  5. python接管已经打开ie浏览器_Python selenium:使用已经打开并使用登录凭据登录的浏览器...

    好吧,因为这个问题被赞成,但我的国旗作为重复的问题未被接受,我将在这里发布 same exact answer I already posted for a similar question: 您可以 ...

  6. python启动不了浏览器_selenium+python自动化测试--解决无法启动IE浏览器及报错问题...

    前言:记录启动IE浏览器的报错及解决方法. 错误1: selenium.common.exceptions.WebDriverException: Message: 'IEDriverServer.e ...

  7. b是python文件二进制打开_如何在Python中打开和显示原始二进制数据?

    'rb'模式允许您从Python中的文件读取原始二进制数据:with open(filename, 'rb') as file: raw_binary_data = file.read() type( ...

  8. python最小化打开exe_如何用python使GoAgent窗口打开后自动最小化以及关闭之前的py.exe窗口...

    python:3.4 goagent:3.1.22-33 写了一个想在ipv4/6之间切换的小脚本 path=r'D:\Documents\Downloads\Downloads\goagent-go ...

  9. python 执行js打开链接_使用Python在链接的href中执行JavaScript

    javascript:打开窗口交付("http://bibliotecadigitalhispanica.bne.es:80/webclient/DeliveryManager?applic ...

最新文章

  1. 【转】ASP.NET中“字母和数字混合的验证码”详解
  2. 简短的python金融数据分析师_让一位数据分析师崩溃有多简单?
  3. matlab中CH指标聚类评价指标,MATLAB聚类有效性评价指标(外部)
  4. 大学c语言项目,项目大学C语言程序设计期末复习重点.doc
  5. xcode--常用快捷键
  6. 把SQLAlchemy查询对象转换成字典/json使用(分开)
  7. Windows.h下CONTAINING_RECORD宏解析(转载)
  8. 50. Pow(x, n) (MATH)
  9. 浅谈12306核心模型设计思路和架构设计阅读心得
  10. 2021-09-23
  11. 索爱最强大java手机_这几款索爱的手机哪款好啊?
  12. python大作业代码_爬虫大作业(示例代码)
  13. LEX自动生成词法分析器
  14. JS判断对象是否为空对象的几种方法
  15. java maven 混淆_使用proguard实现maven工程代码混淆
  16. 编程新技术实务实验二
  17. 计算机网络笔记---互联网的组成及三种交换方式
  18. UiPath认证考试难吗
  19. 知识备忘phpcms 简单解析一 数据表字段
  20. 十二款世界顶级杀毒软件下载,有序列号全可免费升级

热门文章

  1. 使用代码实现HTTP的POST协议流程
  2. Android 判断SIM卡属于哪个移动运营商
  3. java.lang.NumberFormatException: null 和 java.lang.ArithmeticException: Non-terminating decimal expan
  4. 【CSS3】媒体查询,选择器,outline,font-face,resize,svg
  5. 出厂校准的Gravity: 一氧化碳传感器工作原理和安装位置,调校标准说明
  6. Mulesoft 开发前工作
  7. 为什么上班的时候基本上都是坐着,但是感觉很累?
  8. Google doc
  9. 因为这台“黑科技”,科幻电影中的场景都成为了现实丨钛空舱
  10. python爬虫豆瓣评论论文_python 爬虫 豆瓣 评论及评分