selenium定位frame

继续整理之前做自动化测试过程中遇到的问题。

下面是测试时遇到的web页面,其中frameset下一个frame和一个frameset,而这个frameset下又有两个frame

测试发现登录系统后默认进入的是topFrame,而定位不到topFrame中的元素,需要做如下:

driver.switch_to_default_content()
driver.switch_to_frame(driver.find_element_by_xpath("/html/frameset/frameset/frame[1]"))

还一个问题是Chrome下通过name也定位不到frame,所以只能用xpath定位了,而FF下可以直接用name定位。

时间: 2024-11-03 05:29:30

selenium定位frame的相关文章

selenium自动化测试入门 定位frame和iframe中的元素对象

< frame> <iframe> 标签,浏览器会在标签中打开一个特定的页面窗口(框架),它在本窗口中嵌套进入一个网页,当用selenium定位页面元素的时候会遇到定位不到frame框架内的元素的问题. 定位frame中的元素前我们需要driver.switch_to.frame()切换到对应的frame中,执行操作后,要操作frame框架外的元素,需要通过driver.switch_to.default_content()切换回主文档页面. driver.switch_to.fr

Selenium-Webdriver系列Python版教程(5)————如何定位 frame

在 web ui 自动化测试中,frame 一直是令人头痛的问题,就像上班必须挤公车坐地铁一般, frame 的问题总是令人气闷纠结为之黯然神伤. 以前在使用 Selenium1 的时候,frame 也是颇为棘手的一个问题.不但要照本宣科的进行 一系列的设置,而且在进行实际代码编写的过程中会遇到各种奇奇怪怪的问题. frame 就像 中国男足的后防线,问题多多难以解决. selenium webdriver 处理 frame 比较简单,这点比某些测试工具要先进一些,令人身心愉 悦. 以下面的 h

Selenium定位HTML元素(Python)

本篇不是介绍通过各种方法(id, name, tag_name, css, xpath等)定位HTML各元素的普及性文章,网络上各种文档和博客介绍得均比较全面.这里只是将自己实践中,遇到的个别问题及解决方案进行记录. 在此推荐Selenium官方文档(Python版):http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html 可以搜索关键字,得到函数用法和源码. 下面记录定位HTML元素方面遇到的问题和解决方法(持续更新).

定位 frame 中的对象

1.脚本准备 frame.html 中嵌套 inner.html ,两个文件和我们的脚本文件放同一个目录下. frome.html代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>frame</title> <script type="text/jav

转:python webdriver API 之定位 frame 中的对象

在 web 应用中经常会出现 frame 嵌套的应用,假设页面上有 A.B 两个 frame,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B.switch_to_frame 方法可以把当前定位的主体切换了 frame 里.怎么理解这句话呢?我们可以从 frame的实质去理解.frame 中实际上是嵌入了另一个页面,而 webdriver 每次只能在一个页面识别,因此才需要用 switch_to.frame 方法去获取 frame 中嵌入的页面,对那个页面里的元素进行定位

selenium定位失败记录

selenium webdriver定位不到元素的五种原因及解决办法 1.动态id定位不到元素 for example: //WebElement xiexin_element = driver.findElement(By.id("_mail_component_82_82")); WebElement xiexin_element = driver.findElement(By.xpath("//span[contains(.,'写  信')]")); xiex

10. 定位frame中的元素

场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如何理解这个switch_to_frame(name_or_id_or_frame_element)方法呢?可以简单记忆一下,如果这个 frame有name和id属性那么就用这两个属性就好,如果没有的话可以先用find_element_by_xxx方法找到这个frame元素,然后 把这个元素传进去,这也是可行

为什么selenium定位不到元素

在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 2.Xpath描述错误原因: 这种情况有可能是: 1.xpath语法规则书写错误,这个木有办法,补下xpath的语法,多写写,练练就

Selenium定位不到指定元素原因之iframe(unable to locate element)

浏览过程中,图片中的内容可能太小,无法看清,可以>右键>在新标签中打开 Outline 项目原因,需要用selenium实现模拟登陆.模拟上传文件,自然就需要模拟点击[上传]按钮: 模拟点击之前需要通过selenium提供的“方法”去定位到要点击的元素: 模拟登陆过程中,全程都可以定位到需要点击的元素,但登陆后需要定位点击[上传]按钮时问题来了: 元素明明在那放着,就是定位不到,这个问题困扰了一下午还没解决,最终走到了iframe这个一步,才得以解决. 什么是iframe 解决问题之前很有必要