我爱编程

selenium 对iframe处理

2017-12-16  本文已影响0人  TungChiu

在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的。这个时候就需要通过driver.switchTo().fram()

方法将当前定位的主体切换了frame 里。switchTo().frame()默认可以直接取表单的id ,name属性以及和index来进行切换;

如:

//id = "iframeId"

driver.switchTo().frame("iframeId");

//name="iframeName"

driver.switchTo().frame("iframeName");

如果iframe 没有可用的id 和name 可以通过下面的方式进行定位:

//先通过xpth 定位到iframe

WebElement iframe = driver.findElement(By.xpath("//iframe[@type='value']"));

driver.switchTo().frame(iframe );

//通过iframe的下标去定位,从0开始代表第1个iframe

driver.switchTo().frame(0);

//退回上一级表单

driver.switchTo().defaultContent();

driver.switchTo().parentFrame();

上一篇 下一篇

猜你喜欢

热点阅读