selenium 对iframe处理

在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();

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容