因为frame和iframe的原因,在frame里的元素不能直接定位需要切到相应的frame才可以对元素进行操作,下面是涉及的方法

webDriver.switchTo().defaultContent();//切回body
webDriver.switchTo().frame(int arg0);//切至本层第i个frame,arg0=i-1;
webDriver.switchTo().frame(String arg0);//切至本层id或name为arg0的frame
webDriver.switchTo().frame(WebElement arg0);//切至定位为arg0的frame
webDriver.switchTo().parentFrame();//返回父类frame

例子1,需要操作iframe里的input

<html>
<body>
<iframe id='iframe1' name='iframe1'>
<input id='1'></input>
</iframe>
</body>
</html>
webDriver.switchTo().frame(0);
//webDriver.switchTo().frame("iframe1");
webDriver.findElement(By.id("1")).sendKeys("1");

例子2,iframe内嵌iframe,操作iframe2里的input

iframe需要一个个切入,先切入iframe1才可以切入iframe2

<html>
<body>
<iframe id='iframe1' name='iframe1'>
<input id='1'></input>
<iframe id='iframe2' name='iframe2'>
<input id='2'></input>
</iframe>
</iframe>
</body>
</html>
webDriver.switchTo().frame(0);
//webDriver.switchTo().frame("iframe1");
webDriver.switchTo().frame(0);
//webDriver.switchTo().frame("iframe2");
webDriver.findElement(By.id("2")).sendKeys("2");

selenium-java,定位并操作frame和iframe内的元素的更多相关文章

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

    Set<String> windows = driver.getWindowHandles();        int count = 0;        for(String handl ...

  2. 【Selenium2】【selenium之 定位以及切换frame(iframe)】

    参考:http://blog.csdn.net/huilan_same/article/details/52200586 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切, ...

  3. 【转载】selenium之 定位以及切换frame(iframe)

    更多关于python selenium的文章,请关注我的专栏:Python Selenium自动化测试详解 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切,frame需层 ...

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

    frame标签有frameset.frame.iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是一样的,seleni ...

  5. 操作Frame和IFrame中页面元素

    HTML <iframe> 标签 定义:iframe 元素会创建包含另外一个文档的内联框架(即行内框架). frame标签有frameset.frame.iframe三种,frameset ...

  6. 【转载】【selenium+Python WebDriver】之selenium的定位以及切换frame(iframe)

    感谢CSDN:huilan_same大神 网页地址:http://blog.csdn.net/huilan_same/article/details/52200586

  7. 【转】selenium之 定位以及切换frame

    转载自:http://www.voidcn.com/blog/huilan_same/article/p-6155896.html 很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明 ...

  8. selenium之定位以及切换frame

    总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切,frame需层层切! 很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug ...

  9. .NET前后台-JS获取/设置iframe内对象元素并进行数据处理

    转载请注明出处:果冻栋吖 这个主要是修改H3BPM一个批量审批的功能时候做的.先看下图: H3自带了批量审批的功能,也就是按钮1,有审批意见3,但是如果3里边不填写内容点击1之后,效果就是表单里边没有 ...

随机推荐

  1. 自学Java测试代码二String, StringBuffer

    2017-08-23 10:38:01 writer:pprp package test; import java.util.*; public class test2 { public static ...

  2. 蓄水池抽样算法 Reservoir Sampling

    2018-03-05 14:06:40 问题描述:给出一个数据流,这个数据流的长度很大或者未知.并且对该数据流中数据只能访问一次.请写出一个随机选择算法,使得数据流中所有数据被选中的概率相等. 问题求 ...

  3. HDU-5695-拓扑排序+优先队列

    Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  4. HDU 4739 Zhuge Liang's Mines (状态压缩+背包DP)

    题意 给定平面直角坐标系内的N(N <= 20)个点,每四个点构成一个正方形可以消去,问最多可以消去几个点. 思路 比赛的时候暴力dfs+O(n^4)枚举写过了--无意间看到有题解用状压DP(这 ...

  5. Comprehensive Python Cheatsheet

    ToC = { '1. Collections': [List, Dict, Set, Range, Enumerate, Namedtuple, Iterator, Generator], '2. ...

  6. printf %m

    最近看别人的项目发现有 printf("%m") 这种写法,这是什么输出格式呢? 通过 man 查找得知: m (Glibc extension.) Print output of ...

  7. OLT配置说明

    MA5680T>enable  进入特权模式   MA5680T#config  进入配置模式 MA5680T(config)#display current-configuration sim ...

  8. SQL基础整理(事务)

    事务==流程控制 确保流程只能成功或者失败,若出现错误会自动回到原点 具体的实现代码如下: begin tran insert into student values(') goto tranroll ...

  9. Appium Remote webdriver调用

    remote webdriver的模板 默认开启4723端口接受webdriver请求 默认开启4724用于和android通讯 #coding:utf-8 #Import the common pa ...

  10. 2018.11.15 RF antenna impedance-matching

    We have studied the impedance-matching of RF transmission line between the antenna and the RX / TX m ...