操作Frame和IFrame中页面元素
生活随笔
收集整理的這篇文章主要介紹了
操作Frame和IFrame中页面元素
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
HTML <iframe> 標(biāo)簽 定義:iframe 元素會(huì)創(chuàng)建包含另外一個(gè)文檔的內(nèi)聯(lián)框架(即行內(nèi)框架)。 frame標(biāo)簽有frameset、frame、iframe三種,frameset跟其他普通標(biāo)簽沒(méi)有區(qū)別,不會(huì)影響到正常的定位 而frame與iframe對(duì)selenium定位而言是一樣的,selenium有一組方法對(duì)frame進(jìn)行操作。 1、怎么切到frame中(switch_to.frame()) selenium提供了switch_to.frame()方法來(lái)切換frame switch_to.frame(reference):reference是傳入的參數(shù),用來(lái)定位frame,可以傳入id、name、index以及selenium的WebElement對(duì)象 通常采用id和name就能夠解決絕大多數(shù)問(wèn)題。但有時(shí)候frame并無(wú)這兩項(xiàng)屬性,用xpath定位,傳入WebElement對(duì)象 舉個(gè)例子: <iframe src="myframetest.html" /> driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@src,'myframe')]"))); ? 2、從frame中切回主文檔(switch_to.default_content()) 切到frame中之后,我們便不能繼續(xù)操作主文檔的元素,這時(shí)如果想操作主文檔內(nèi)容,則需切回主文檔。 driver.switch_to.default_content() ? 3、嵌套frame的操作(switch_to.parent_frame()) 有時(shí)候我們會(huì)遇到嵌套的frame,如下: <html> <iframe id="frame1"> <iframe id="frame2" / > </iframe> </html> ? ***從主文檔切到frame2,一層層切進(jìn)去*** driver.switch_to.frame("frame1") driver.switch_to.frame("frame2") driver.switch_to.parent_frame() # 如果當(dāng)前已是主文檔,則無(wú)效果 ? 有了parent_frame()這個(gè)相當(dāng)于后退的方法,我們可以隨意切換不同的frame,隨意的跳來(lái)跳去了。 所以只要善用以下三個(gè)方法,遇到frame分分鐘搞定: driver.switch_to.frame(reference) driver.switch_to.parent_frame() driver.switch_to.default_content() 注意: iframe使用后必須跳出來(lái),否則無(wú)法定位其它元素 跳出方法: driver.switchTo().defaultContent();
轉(zhuǎn)載于:https://www.cnblogs.com/wysk/p/7511909.html
總結(jié)
以上是生活随笔為你收集整理的操作Frame和IFrame中页面元素的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [转]sqlserver转换为Mysql
- 下一篇: 文件系统之-JAVA Sftp远程操作: