selenium 设置cookie先后打开两个页面能共用cookie吗

selenium 处理 一个页面两个相同id的定位 - 博客频道 - CSDN.NET
小青蛙爱唱歌的博客
python 自动化测试 交流群:
分类:selenium
&同一页面,两个或两个以上 id相同的定位处理如:
=&tbox42&placeholder=&请输入您的登录密码&autocomplete=&off&name=&LoginForm[password]&id=&LoginForm_password&type=&password&
&inputclass=&tbox42&placeholder=&请输入您的登录密码&autocomplete=&off&name=&LoginForm[password]&id=&LoginForm_password&type=&password&
对第二input 用 id进行定位可用
dr.find_elements_by_id(&LoginForm_password&)[1]
排名:千里之外
(5)(37)(14)(5)(7)(9)(4)(4)Selenium Webdriver 学习总结-Advanced Usage-Cookie、Profile(七) - 推酷
Selenium Webdriver 学习总结-Advanced Usage-Cookie、Profile(七)
一、如何使用Cookie代码示例:
二、Firefox用户配置文件
用户配置文件详细信息,参考:http://support.mozilla.org/zh-CN/kb/用户配置文件
1、webdriver如何处理profile
2、webdriver使用已存在的firefoxProfile
3、使用外部的Profile启动firefox(该profile未在本机的firefox中注册,比如我们直接从其它机器上拷贝过来的Profile)
4、前面已经讲过,firefoxDriver会创建一个匿名的Profile,以下教大家如何定制我们的匿名Profile a) 启动带有firebu组件的firefox
public void testFirefoxProfile() {
File file = new File(&src/test/resources/firebug.xpi&);
FirefoxProfile profile = new FirefoxProfile();
//在webdriver自己创建的Profile中添加firebug组件
profile.addExtension(file);
} catch (IOException e) {
e.printStackTrace();
//指定firefox版本,否则启动webdriver实例后,会打开firebug页面
profile.setPreference(&extensions.firebug.currentVersion&, &1.11.4&); & &
WebDriver driver = new FirefoxDriver(profile);
driver.get(&&);
//driver.quit();
5、对浏览器的偏好设置
FirefoxProfile中的setPreference方法可以更改浏览器中首选项的任何设置,另外FirefoxDriver也提供了附加的配置(详细参考:
&中的FirefoxProfile settings部分
关于firefox首选项配置,可以通过在浏览器地址栏中输入about:config ,回车,在这里可以修改我们关注的东西,这里修改后会应用于当前系统,如果我们只想在启动浏览器时,个性化部分配置,可以通过FirefoxProfile完成。
举例说明:
a) 自定义webdriver启动时显示指定页面
b) 默认情况下WebDriver在执行get、click等方法后会等待页面加载完成,脚本才会继续向下执行,这里可以通过WebDriver提供
webdriver.load.strategy
”来修改webdriver忽略此等待。
FirefoxProfile pro = new FirefoxProfile();&
pro.setPreference(&
webdriver.load.strategy
&, &unstable&);&
该方法谨慎使用,会造成很多意向不到的错误。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致用selenium2\htmldriver模仿第三方登录(新浪微博、qq等),取cookie - 掬水月在手,弄花香满衣 - ITeye技术网站
博客分类:
进行播放记录等后台api的主动化测试时,须要后台鉴权,本站注册用户这块轻易解决:经由过程httpclient向响应的passport接口提交恳求,抓取cookie;第三方登录因为涉及到第三方的接口和回调剂理惩罚,逻辑较为错杂,用之前办法实现斗劲麻烦。衡量之后决意用selenium实现。
selenium的实现过程斗劲顺利,不过碰到两个小景象:1.iframe上元素的查找、捕获,实现体式格式driver.switchTo.frame(iframeId);2.在主页面上click链接打开新页面,新页面与主页面切换后才干对新页面进行操纵,实现体式格式:
1 WebDriver popup =
2 for (String winHandle : driver.getWindowHandles()) {
popup = driver.switchTo().window(winHandle);
if (popup.getTitle().contains("QQ帐号安然登录"))
不过selenium运行起来,因为调取的是firefox\ie\chrome等浏览器,浏览器启动,浏览器下载页面上所有css\js\picture等文件,解析css衬着结果、解析js,所以速度就会很慢,对于只是抓起cookie的需求,实现效力其实不是很幻想。好在selenium的webdriver除了调取浏览器之外,还可以应用htmlunitdriver,该driver是对htmlunit的再次封装,使其对外接口与selenium应用浏览器做webdriver时的对外接口相一致,因为不须要启动额外法度,也没有了界面衬着,省去了不少履行时候。
不过在实现时,碰到一个htmlunitdriver的疑似bug:在主页面上click链接打开新页面时,只是进行了该链接响应的http恳求,并未将该页面上其它js\css进行下载,如许在对新页面中元素进行操纵,触发的js函数又恰好在这些未下载的文件中时,就会出题目了,例如此次碰到的向一个type="password"的input中sendkeys不成功,无法实现相干操纵。解决办法,抓起要打开的链接中的href属性,在driver中直接get打开,固然未能彻底找到并解决该bug,但也成功绕开了该bug。等有时候再查一下此中内涵的原因吧。
浏览: 805900 次
来自: 济南
浏览量:24363
浏览量:45526
浏览量:107164
不顶不行的...ie10↓没办法修改input file的va ...
大哥,写的是关键呀。强顶。
写的很好,学习了~
过程变步骤。哎!
自己做的一个可以使用极少的内存生 ...

我要回帖

更多关于 selenium 保存cookie 的文章

 

随机推荐