WebDriver拾级而上·之五 iframe的处理
来源:互联网 发布:linux创建文件的命令 编辑:程序博客网 时间:2024/05/09 14:32
有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题。这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一。
如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的。反之你在一个iframe中查找另一个iframe元素或default content中的元素,那必然也定位不到。
selenium webdriver中提供了进入一个iframe的方法:
也提供了一个返回default content的方法:
这样使我们面对iframe时可以轻松应对。
switch_to方法会new 1个TargetLocator对象,使用该对象的frame方法可以将当前识别的”主体”移动到需要定位的frame上去。
以下面的html代码为例,我们看一下处现iframe。
这个2个页面放桌面
Html代码
main.html
<html>
<div id = "id1">this is a div!</div>
</html>
frame.html
<html>
<div id = "div2">this is a frame,too!</div>
<label>input:</label>
<input id = "input2" value='frame VALUE'>a frame</input>
</html>
Java代码
package com.test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Test_frame {
public static void main(String[] args) {
String url = "file:///C:/Documents and Settings/fei yong/桌面/main.html";
}
}
页面输出:
- WebDriver拾级而上·之五 iframe的处理
- WebDriver拾级而上·之五 iframe的处理
- WebDriver拾级而上·之十六 Table控件的处理
- WebDriver拾级而上·之十六 Table控件的处理
- WebDriver拾级而上·之十六 Table控件的处理
- WebDriver拾级而上·之七 处理对话框alert\confirm\prompt
- WebDriver拾级而上·之七 处理对话框alert\confirm\prompt
- WebDriver拾级而上·之七 处理对话框alert\confirm\prompt
- WebDriver拾级而上·之零 WebDriver理论
- WebDriver拾级而上·之零 WebDriver理论
- WebDriver拾级而上·之八 操作cookies
- WebDriver拾级而上·之十四 RemoteWebDriver
- WebDriver拾级而上·之二 浏览器操作
- WebDriver拾级而上·之二 浏览器操作
- WebDriver拾级而上·之八 操作cookies
- WebDriver拾级而上·之十四 RemoteWebDriver
- WebDriver拾级而上·之十七 断言
- WebDriver拾级而上·之十二 截图selenium-webdriver
- Can't connect to MySQL server on 'localhost' (10061)解决方案
- 关于SQL的事务回滚机制
- WebDriver拾级而上·之一 环境部署
- hdu 2093 考试排名
- android关闭应用
- WebDriver拾级而上·之五 iframe的处理
- Android系统移植与调试之------->如何修改Android设备存储盘符名称与Android设备的型号
- WebDriver拾级而上·之六 获得弹出窗口
- HDU2476:String painter(区间DP)
- 如何成为一个好的程序猿
- WebDriver拾级而上·之七 处理对话框alert\confirm\prompt
- 机器学习理论与实战(十)K均值聚类和二分K均值聚类 .
- 哈希表以及哈希的应用
- WebDriver拾级而上·之八 操作cookies