您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“selenium如何定位多個(gè)嵌套iframe”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“selenium如何定位多個(gè)嵌套iframe”這篇文章吧。
之前學(xué)習(xí)了selenium切換到iframe的方法,代碼如下
from selenium import webdriver driver = webdriver.Chrome() driver.switch_to.frame(0) #1.用frame的index來定位,第一個(gè)是0# driver.switch_to.frame("frame1") #2.用id來定位# driver.switch_to.frame("myframe") #3.用name來定位# driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) # 4.用WebElement對(duì)象來定位
源碼中并沒有說可以通過id定位,但事實(shí)上是可以的
一定要注意,對(duì)于并列的iframe,我們可以用下標(biāo)表示,但是嵌套的,除了第一個(gè)可以用下標(biāo)0表示外,其他都不行
#并列的iframeiframe ---------------------------下標(biāo)0 | | |iframe----------------------------下標(biāo)1 | | |iframe----------------------------下標(biāo)2
#嵌套的iframeiframe -----------------------------------id="f1"iframe ------------------------------------id="f2"iframe -------------------------------------id="f3"
#先找到iframe1(id="f1")driver.switch_to.frame("f1")#再找到其下面的iframe2(id="f2")driver.switch_to.frame("f2")
完美解決,還有一個(gè)問題,我們要向從切到上級(jí)iframe,應(yīng)該如何實(shí)現(xiàn)
selenium提供了一個(gè)類似"后退"的方法,如下
driver.switch_to.parent_frame() # 如果當(dāng)前已是主文檔,則無效果
對(duì)于iframe處理,目前主要有三種方法
1 driver.switch_to.frame(reference)2 driver.switch_to.parent_frame()3 driver.switch_to.default_content()
其中第一種iframe的切換的參數(shù)有4個(gè): idex, id, name, webelement
以上是“selenium如何定位多個(gè)嵌套iframe”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。