溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

selenium如何定位多個(gè)嵌套iframe

發(fā)布時(shí)間:2021-12-18 10:47:23 來源:億速云 閱讀:435 作者:小新 欄目:云計(jì)算

這篇文章主要為大家展示了“selenium如何定位多個(gè)嵌套iframe”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“selenium如何定位多個(gè)嵌套iframe”這篇文章吧。

一. driver.switch_to.frame(id):可以通過id切換到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í)上是可以的

selenium如何定位多個(gè)嵌套iframe

一定要注意,對(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"

2. 通過id定位

#先找到iframe1(id="f1")driver.switch_to.frame("f1")#再找到其下面的iframe2(id="f2")driver.switch_to.frame("f2")

完美解決,還有一個(gè)問題,我們要向從切到上級(jí)iframe,應(yīng)該如何實(shí)現(xiàn)

3. 從子iframe切到父iframe

selenium提供了一個(gè)類似"后退"的方法,如下

driver.switch_to.parent_frame()  # 如果當(dāng)前已是主文檔,則無效果

三. 總結(jié)

對(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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI