在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();
网友评论