火狐浏览器是用户经常使用的浏览器之一,在使用过程当中应该有用户遇到过plugin-container.exe异常致使的浏览器崩溃,这种崩溃每每是由Flash形成的。本文介绍一种解决方案,但愿对须要的同窗有所帮助,也但愿能够交流其余更好的手段。
以前写过一篇博客:自动化测试如何解决验证码的问题。html
介绍了验证码的几种处理方式,最后一种就是经过Cookie跳转过验证码,但讲的不够详细。今天,就详细的介绍一下这种方式。web
准备工具:windows
------------------浏览器
fiddlercookie
Python+seleniumdom
------------------工具
以百度登陆为例。测试
验证码是汉字的,我想经过程序识别起来有点难度,也会比较麻烦。网站
接下来开始动手。ui
一、开启Fiddler 工具,像这样!
二、经过浏览器登陆正常登陆百度帐号。像这样!
三、经过Fiddler获取登陆请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie。
而后,找到重要的两个参数“BAIDUID”和“BDUSS”。
四、编写Selenium自动化测试脚本,跳过登陆。
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") # 添加Cookie driver.add_cookie({'name':'BAIDUID','value':'AAAAAAAAAAAAAA:FG=1'}) driver.add_cookie({'name':'BDUSS','value':'AAAAAAAAAAAAAAAAAAAAAAAAAA'}) # 刷新页面 driver.refresh() # 获取登陆用户名并打印 username = driver.find_element_by_class_name("user-name").text print(username) #关闭浏览器 driver.quit()
首先,访问百度首页,处于未登陆状态。
而后,经过Selenium所提供add_cookie()方法添加Cookie信息。
最后,刷新页面,如今已是登陆状态了,获取登陆以后的用户名并打印。
可取到NN网的cookies以后,分不出哪两个是重要的参数,干脆就所有参数添加到cookies里面了,这样竟然能够了。
但另外一个问题出了,Firefox崩溃了,以下图
plugin container for firefox
转载连接:https://jingyan.baidu.com/article/3aed632e21d2c0701180916c.html
火狐浏览器是用户经常使用的浏览器之一,在使用过程当中应该有用户遇到过plugin-container.exe异常致使的浏览器崩溃,这种崩溃每每是由Flash形成的。本文介绍一种解决方案,但愿对须要的同窗有所帮助,也但愿能够交流其余更好的手段。
咱们先来看一下plugin-container.exe致使的异常信息:
打开“个人电脑"->C盘->Program Files->Mozilla Firefox,知道到plugin-container.exe,并将该文件删除:
关闭火狐浏览器并重启浏览器,这时候通常就能解决这种崩溃,可是为了从根本上避免,咱们还须要修改浏览器配置。
咱们继续操做,在Firefox浏览器地址栏输入 about:config并回车:
在搜索框中输入dom.ipc.plugins.enabled,找到“dom.ipc.plugins.flash.subprocess.crashreporter.enabled”将该值设置为false:
到此就结束了
至此,经过cookies跳过验证码登录页面,访问网站的其它URL就实现了。好开心………
能够改进的1)添加cookies参数较多,彻底能够用脚本自动添加的,我一个一个复制粘贴的,效率低下。下次改进。