selenium +phantomjs 登录126邮箱 iframe定位问题

原创 2016年05月31日 17:29:57

    今天在用selenium 做126邮箱登录的时候,遇到一个奇怪的问题,我在程序定位 账号/密码输入框的时候  selenium+chromedriver是可以正常定位的,但是在phantomjs下定位不了,一阵头大,接口文档中的三种方式:


  原始页面:



我尝试使用以上三种方式,怎么测试都不成功,

第一种:

driver.switchTo().defaultContent();

driver.switchTo().frame("x-URS-iframe");

第二种:

driver.switchTo().defaultContent();

driver.switchTo().frame(driver.findElement(By.id("x-URS-iframe"));

:

driver.switchTo().defaultContent();

driver.switchTo().frame(0);


结果很悲剧,全部失败,第二,三种在chrome下是成功的,第一种在chrome,phantomjs都失败,第二,三种在phantomjs下同样失败.想想当时就很失落,查询了各种关于iframe加载的文档,没找到一个很好的诠释;但是有一点可以肯定页面肯定

加载了,因为利用截图功能,可能清楚的看到页面已经加载.

所以就在失落之余,想到一个特别笨的方式,通过使用driver.switchTo().frame(0);这种方式,把里边所有的iframe的pageSource全部打一遍,我不相信它没有加载, 很荣幸,测试成功

使用driver.switchTo().frame(2);意外获取到想要的结果,毕竟该iframe在第一个出现

复盘:

在对的方向面前多做一些常识,在错误的基础上累加自己对常识性认知的增加,另外多了解下浏览器/js加载原理,对解决问题也有很大的帮助,当然各个浏览器内核之前的

还是不同的




PhantomJS(webkit)/SlimerJS (Gecko) + CasperJS获取JavaScript渲染后的网页内容

前言: 对于富客户端的 Web 应用页面,自动登录、页面修改、抓取页面内容、屏幕截图、页面功能测试…面对这些需求,使用后端语言需要花费不少的精力才能实现, 通常这是因为这些网站会判断访问站点的客户端...

Selenium + phantomjs使用总结

下决心终于要写自己的博客了。公司偶用到Selenium, 编写Java自动化测试脚本,就是为了糊弄甲方人员,不过我还是认真的学习一下下。某年某月记之......     即使总结,也是大杂烩,啥...

使用selenium操作PhantomJS的常用操作

采集淘宝商品数据的时候,主要用到了Selenium+PhantomJS。在这个过程中对淘宝的严厉反爬措施佩服至极,个人也得到了很多成长。虽然历经曲折,最终还是能正常运行自己的脚本采集数据。 这里...

selenium python登录126邮箱错误记录

1.准备做一个登录126邮箱的操作,用Firefox的firebug查看了下用户名框的id , 密码框的id都是id="auto-id-1491067388576" 这样一类,F5刷新浏览器,重新看了...
  • miouqi
  • miouqi
  • 2017年04月02日 01:46
  • 1011

selenium+python实例详解:邮箱登陆

from selenium import webdriver import time driver = webdriver.Ie() driver.get("http://www.baidu.com"...

[selenium]实现自动登录163邮箱并发送邮件

selenium,自动登录,发送邮件 二、代码如下: #-*-coding:utf-8-*- from selenium import webdriver from selenium....

java Selenium 发送126邮件 解决element not visible

网上很多例子,但是到了最后一次发送邮件的时候出现 element not visible 错误, 几经周折, 终于搞定了。     package selenium_java; import java...

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能。而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Seleni...

selenium之 定位以及切换frame(iframe)

很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼(原因之一,改天专门说说定位不到元素,可...

Holmos自动化测试入门学习(四)---------------iFrame里面元素的定位

iFrame 定位的思想是先定位到iFrame,再定位iFrame里面的元素。 常用到的3个方法: select()--------------------------选取要操作的frame s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:selenium +phantomjs 登录126邮箱 iframe定位问题
举报原因:
原因补充:

(最多只允许输入30个字)