推广 热搜:   公司  企业  中国  快速    行业  上海  未来  设备 

java frame切换如何实现 切换frame的方法

   日期:2024-11-19     移动:http://fabua.ksxb.net/mobile/quote/943.html

 

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe需要切换进去才能定位到其中的元素

比如下面这个网页,有多个frame,以及嵌套iframe,我们在操作里面元素时,需要切换进去。

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

 

 

登陆后,我们要切换进leftframe进行操作

代码:

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

switch_to.frame()默认可以直接使用表单(frame/iframe)的id或name属性。如果表单没有id和name属性,可以使用元素定位方法先找到这个表单,再切换进去

假如在leftframe中操作完成后,我们还需要进入mainframe操作元素。这就就要先退出leftframe,回到主页,再进入mainframe

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

switch_to.default_content()是跳回最外层页面。

如果进入了多层frame,我们只是想回到上一个frame,可以用

 

 

 

 

 

----------------------------------------

 b/s架构都使用iframe,官方的定义是这样的:【iframe 元素会创建包含另外一个文档的内联框架(即行内框架)】。什么意思呢,就像是我们的某个主页,里面有好多小模块,每个小模块用这个叫做iframe的东西分开来,方便维护,也方便开发各自开发各自的部分,互不相干。

 

     那么,问题来了。要是我们元素不在同一个iframe应该怎么办呢?

     通常不在同一个iframe分为两种情况:一种是包含,一种是平级。

 

①.包含关系之父iframe中切换到子iframe中

    直接用【driver.switchTo().frame("子");】即可,其中"子"是这个iframe的id或者name属性。

②.包含关系之子iframe切换到父iframe中(或者平级间的切换都是如此)

   【driver.switchTo().frame("子");】——切换到子iframe

   【driver.switchTo().defaultContent();】——切换到切换子iframe之前的位置

   【driver.switchTo().frame("父");】——切换到父iframe

 

    切换iframe还会碰到以下几种问题:

①.iframe没有id和name

    driver.findElement(By.tagName("iframe"));

②.iframe没有name,且id是可变的,可用iframe包含的固定关键字查找

   driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@id,'待办办理')]")));

 

原文地址:

                 http://blog.sina.com.cn/s/blog_b0d01b5b0102w7mn.html

frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe需要切换进去才能定位到其中的元素

比如下面这个网页,有多个frame,以及嵌套iframe,我们在操作里面元素时,需要切换进去。

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

 

 

登陆后,我们要切换进leftframe进行操作

代码:

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

switch_to.frame()默认可以直接使用表单(frame/iframe)的id或name属性。如果表单没有id和name属性,可以使用元素定位方法先找到这个表单,再切换进去

假如在leftframe中操作完成后,我们还需要进入mainframe操作元素。这就就要先退出leftframe,回到主页,再进入mainframe

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

java f<em></em>rame切换如何实现 切换f<em></em>rame的方法

switch_to.default_content()是跳回最外层页面。

本文地址:http://fabua.ksxb.net/quote/943.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号