2.7.2 元素定位:frame 内定位 driver.switch_to.frame()

来源: http://blog.csdn.net/anniejunyan/article/details/23257327  Selenium + Webdriver 学习(五) frame下元素定位

http://blog.csdn.net/huilan_same/article/details/52200586   selenium之 定位以及切换frame(iframe)

frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位。而frame与iframe对selenium定位而言是一样的,内部的元素都会不能直接定位到。

driver.switch_to.frame(reference)

driver.switch_to.parent_frame()        从子frame切回到父frame

driver.switch_to.default_content()        切到frame中之后,我们便不能继续操作主文档的元素,这时如果想操作主文档内容,则需切回主文档。

frame 定位:

(1) 索引定位:driver.switch_to.frame(0)

定位第一个frame (index 下标从0开始)。通常采用id和name就能够解决绝大多数问题。但有时候frame并无这两项属性,则可以用index和WebElement来定位。

(2) WebElement对象定位:  driver.switch_to.frame(driver.findElement(By.xpath("XXXXXX")))

即用find_element系列方法所取得的对象,我们可以用tag_name、xpath等来定位frame对象

时间: 2024-10-12 12:48:43

2.7.2 元素定位:frame 内定位 driver.switch_to.frame()的相关文章

2015-09-22 第四节课 CSS块级元素 行内元素 浮动 盒子模型 绝对定位、相当定位和固定定位

常见的块级元素和行内元素 一.块级元素 1.块级元素的特点: (1).默认显示在父标签的左上角. (2).块级元素默认占满一行(沾满整个文档流). 2.常见的块级元素: <p>.<h1-h6>.<ulli>.<olli>.<div>.<tabl>.<hr> 二.行内元素(内联元素) 1.行内元素的特点: (1).大小受到文字区域的影响,不受到width和height的影响. (2).行内元素不会单独占满一行. 2.常见的行

元素重叠及position定位的z-index顺序

多次在项目中遇到html页面元素的非期待重叠错误,多数还是position定位情况下z-index的问题.其实每次解决类似问题思路大致都是一样的,说到底还是对z-index的理解比较模糊,可以解决问题却不大了解其原因,导致重复出错......于是决定把重叠问题弄清下,把z-index理顺下. 经过一番查找对比实践理解,下面就从元素重叠的背景常识及可能原因说起,浅谈下position定位元素的z-index顺序.总结下我目前的理解,希望也能对遇到过类似问题有同样疑惑的你有一点帮助或启发. 元素位置

浅析CSS——元素重叠及position定位的z-index顺序

元素位置重叠的背景常识 (x)html文档中的元素默认处于普通流(normal flow)中,也就是说其顺序由元素在文档中的先后位置决定,此时一般不会产生重叠(但指定负边距可能产生重叠).当我们用css为某个元素指定 float浮动或者position定位后,元素的定位将会依情况发生如下改变: 1. 指定float值left/right 行内元素也会隐形变成块元素,元素会脱离文档的普通流,向左或右浮动,直到其外边缘碰到包含框或另一个浮动框. 2. 指定position值relative 可以相对

android:应用程序内定位处理,百度定位,高德定位,系统定位处理.

文章来自:http://blog.csdn.net/intbird 关于定位的几点体验 地图上使用定位 定位信息说明 应用内确保定位返回结果思考 应用内使用定位服务代码 代码基础使用方法 关于定位的几点体验: 百度定位:定位返回很快,很及时,推荐使用,单次定位,能很大程度的保证应用获取位置,5.1的定位有了位置提醒; 高德定位:和系统的很像,需要设置定位的米和时间,有时候不返回,有时候返回一大推,不清楚它机制是什么,不推荐; 系统定位:单纯的户外使用返回还是很不错的,如果是做一个骑行记录轨迹的,

web页面元素的8种定位方法

一.web页面元素定位工具介绍 1.打开google浏览器,按F12进入开发者模式,如下图: 2.用鼠标点击下图红色框中的箭头——然后鼠标移动到web页面的元素上(此处为百度框),会自动定位到对应的html代码,如下图: 二.web页面元素的8种定位方法: 1.通过元素的id属性来定位元素——id是唯一标识(每个id都是不一样的) driver.find_element_by_id("kw")     1 from selenium import webdriver 2 driver=

js获取frame内的元素

遇到这个问题在网上搜的时候感觉很乱,有很多的说法,但有的都不对,最后试了很多次才修改成功,在这里做下记录. 这个是获取父frame内的元素: var doc= window.parent.document.getElementById("leftFrame").contentWindow.document.getElementById("bookli"); 这句代码的意思是获取id="leftFrame"的frame中的一个id="bo

ArrayList中remove()方法删除长度大于5的元素之后下标重定位的问题

1.问题阐述 需求: 有一个ArrayList数组,要求删除长度大于5的字符串,如:arr = {"ab1","123ad","bca","dadfadf","dddaaa","你好啊","我来啦","别跑啊"}: 要求结果输出: {"ab1","123ad","bca","你好

selenium对元素的八种定位方式

selenium提供了八种元素的定位方式: id id定位 name name属性定位 class_name 伪类名定位 tag_name 标签名定位 link_text 链接文本定位 partical_link_text 部分链接文本定位 xpath xpath路劲表达式定位 css_selector css选择器定位 八种定位方式的示例: from selenium import webdriverdriver=webdriver.Firefox() url="xxxx"drive

selenium定位当前处于那个iframe(frame)中

问题:操作某元素时,总是定位不上,此时需要确认你在哪个iframe里. 如图html代码,有很多个iframe,代码如下 定位问题的代码: 获取当前iframe的tag name,确定有几个iframe,你所在的元素和获取到页面的iframe之间的关系,来进行iframe的切换. for child_frame in driver.find_elements_by_tag_name("iframe"): child_frame_id = child_frame.get_attribut