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加载原理,对解决问题也有很大的帮助,当然各个浏览器内核之前的

还是不同的




python+selenium+phantomjs 踩坑

在写爬虫时遇到有些网页加载超时的情况,以下对比一下他们的优缺点:WebDriverWait():selenium设置元素发现超时等待时间 WebDriverWait()函数是在在设置时间内,默认每隔...
  • Tilyp
  • Tilyp
  • 2017年06月23日 22:58
  • 1846

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

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

selenium python登录126邮箱错误记录

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

126邮箱登录---iframe

开始直接定位根本定位不了,后来发现里面包了一个iframe,解决办法如下: 写法一: 写法二: 注意: 1.中间注释掉的是另一种详细些的写法,两种都可以执行成功 2.126输入框不能使用i...
  • qq_31179127
  • qq_31179127
  • 2017年02月09日 14:41
  • 529

Selenium + phantomjs使用总结

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

利用phantomjs实现自动登录

# -*-coding:utf-8-*- from selenium import webdriver from selenium.webdriver.common.keys import Keysd...
  • CodingMyself
  • CodingMyself
  • 2016年10月08日 15:09
  • 1797

selenium+phantomJS爬虫,适用于登陆限制强,点触验证码等一些场景

selenium是很出名的自动化测试工具,多数场景是测试工程师用来做自动化测试,但是同样selenium可以作为基本上模拟浏览器的工具,去爬取一些基于http request不能或者很复杂的才能爬取的...
  • chijiaodaxie
  • chijiaodaxie
  • 2016年03月27日 19:02
  • 242820

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

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

selenium+java定位163/126邮箱元素显示定位失败解决

开始在没有进入iframe时,用任何方法定位163/126邮箱登录页面的元素都不可能定位到,eclipse工作台会显示Unable to locate element:…… 这种情况我遇到了两种原因:...
  • fiy19900510
  • fiy19900510
  • 2017年11月16日 11:34
  • 98

Python Selenium实现自动登录163邮箱

最近看了看Selenium,发现这个玩意是相当好用,于是我想自己写一个邮箱自动登录的小程序,下面以登录163邮箱为例,一开始遇到了很多问题,在网上看了很多教程,发现也都失效了,经过一下午的摸索,终于找...
  • Qaz_wz
  • Qaz_wz
  • 2017年04月27日 17:32
  • 1840
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:selenium +phantomjs 登录126邮箱 iframe定位问题
举报原因:
原因补充:

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