Selenium多层级的iframe中元素的定位

很多时候我们遇到多层级的iframe就会想各种方法去获取iframe中的元素,但其实很简单就可以做到的,就是一级一级获取就可以了,获取至你需要的那个层级即可,下面看下实际的案例;(转)

<frame src="" id="index_main" name="main" scrolling="Yes" noresize="noresize">

<iframe id="Editor1" src="" frameborder="0" scrolling="no" >

<iframe id="eWebEditor" width="100%" height="100%" scrolling="yes" frameborder="0" src="">

<input type="text" id="TeacherTxt" name="Teacher" size="12" maxlength="12" >

</iframe>

</iframe>

</iframe>

示例:

@Test  
    public void phoneLogin() throws Exception{

WebDriver chrome = new ChromeDriver();
         chrome.switchTo().frame("index_main");
       chrome.switchTo().frame("Editor1");
       chrome.switchTo().frame("eWebEditor");
       chrome.findElement(By.id(" TeacherTxt")).sendKeys("测试Iframe");

chrome.switchTo().defaultContent();

}

注意:最后只需要退出一次iframe即可;

时间: 2024-10-22 06:42:59

Selenium多层级的iframe中元素的定位的相关文章

解析Jquery取得iframe中元素的几种方法

DOM方法:父窗口操作IFRAME: ? 1 window.frames["iframeSon"].document IFRAME操作父窗口: ? 1 window.parent.document jquery方法: 在父窗口中操作 选中IFRAME中的所有输入框: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  $(window.frames["iframeSon"].doc

Jquery取得iframe中元素的几种方法(转载)

iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作 DOM方法:父窗口操作IFRAME:window.frames["iframeSon"].documentIFRAME操作父窗口: window.parent.document jquery方法:在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(":text&quo

Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID

query取得iframe中元素的几种方法 在iframe子页面获取父页面元素代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的元素代码如下: $("#objid",document.frames('iframename').document) 显示iframe中body元素的内容. $(document.getElementById('iframeId').contentWindow.document.body)

jQuery判断iframe中元素是否存在的方法

jQuery判断iframe中元素是否存在的方法,需要的朋友可以参考一下 .代码   if($(window.frames["iframepage"].document).find('.l-grid-row-cell').length > 0){ alert(1); }else{ alert(2); } 判断id为iframepage的iframe中css为1-grid-row-cell的元素是否存在.前端UI分享 jQuery判断iframe中元素是否存在的方法

python+selenium如何定位多层iframe中元素

在 web 应用中经常会出现 iframe 嵌套的应用,假设页面上有 A.B 两个 iframe,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B. iframe 中实际上是嵌入了另一个页面,而 webdriver 每次只能在一个页面识别,因此需要用 switch_to.frame 方法去获取 iframe 中嵌入的页面,对那个页面里的元素进行定位. 常用方法如下: # 先找到到 iframe1(id = f1) driver.switch_to_frame("f1&qu

Jquery取得iframe中元素的几种方法

在iframe子页面获取父页面元素 代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的元素代码如下: $("#objid",document.frames('iframename').document) $(document.getElementById('iframeId').contentWindow.document.body).html()  显示iframe中body元素的内容. $("#tes

java selenium (十四) 处理Iframe 中的元素

有时候我们定位元素的时候,发现怎么都定位不了. 这时候你需要查一查你要定位的元素是否在iframe里面 阅读目录 什么是iframe iframe 就是HTML 中,用于网页嵌套网页的. 一个网页可以嵌套到另一个网页中,可以嵌套很多层. selenium 中提供了进入iframe 的方法 // 进入 id 叫frameA 的 iframe dr.switchTo().frame("frameA"); // 回到主窗口 dr.switchTo().defaultContent(); ma

如何获得iframe中元素的值

在Web开发时,很多时候会遇到一个问题.我在一个页面嵌入了iframe,并且我想获得这个iframe页面某个元素的值.那么该如何实现这个需求呢? iframe1中文本框的值: 在IE下操作IFrame内容的代码: document.frames["MyIFrame"].document.getElementById("s").style.color="blue"; 但是这在Firefox下无效.所以,想到在Firefox下用FireBug来调试.

Java中通过Selenium WebDriver定位iframe中的元素

问题:有一些元素,无论是通过id或是xpath等等,怎么都定位不到. 分析:这很可能是因为你要定位的元素被嵌套在了当前页面的一个iframe元素中,Selenium对iframe中的元素有特殊的定位规则,WebDriver不能够直接进行定位. 解决办法:我们要把这个iframe元素找出来,让WebDriver转移到这个iframe元素上,之后再让WebDriver对iframe中的元素进行定位. 因为最近在用Java来做一些东西,所以就顺便说一下Selenium在Java环境下的使用,总共分三步