我有一個(gè) .jsp 頁面,我試圖從中獲取 Web 元素并執(zhí)行點(diǎn)擊和輸入功能。在嘗試在 jsp 頁面上識(shí)別這些 Web 元素的試驗(yàn)和錯(cuò)誤之后,我注意到該頁面包含“iframe”。我已經(jīng)查找了資源,以便能夠按名稱瀏覽 iframe,并在此處按索引瀏覽 iframehttps://www.guru99.com/handling-iframes-selenium.html 但是,我覺得我有一個(gè)特例,因?yàn)槲艺谔幚淼乃?iframe 都沒有元素 ID 或名稱。此外,我需要導(dǎo)航到的 iframe 嵌套在其他 iframe 中。因?yàn)閾?jù)我所知,我僅限于使用 switchTo().frame(index)由于沒有命名 iframe,我已經(jīng)嘗試過 webDriver.switchTo().frame(index);但是因?yàn)槲艺谔幚砬短椎?iframe,所以我不確定我是否到達(dá)了我需要去的地方。我試過類似的東西webDriver.switchTo().frame(0);webDriver.switchTo().frame(1);webDriver.switchTo().frame(2);webDriver.switchTo().frame(3);看看在我得到異常之前我可以深入到什么程度。這很難,因?yàn)槲乙矡o法確定我當(dāng)前所在的 iframe。也許我需要?jiǎng)?chuàng)建當(dāng)前 iframe 的對(duì)象,然后以這種方式向下鉆取?代碼看起來有點(diǎn)像這樣......<iframe height="708px" width="100%" marginheight="0" frameborder="0" scrolling="auto" src="..."></iframe>...<iframe height="708px" width="100%" marginheight="0" frameborder="0" scrolling="auto" src="..."></iframe>......<iframe onload="..." height="100%" width="100%" marginheight="0" frameborder="0" scrolling="no" src="..."></iframe>...... ...<iframe onload="..." height="100%" width="100%" marginheight="0" frameborder="0" scrolling="YES" src="..."></iframe> 這是我需要去的地方我希望能夠成功獲取我正在處理的 iframe 內(nèi)的 Web 元素,但我一直沒有成功,因?yàn)槲也淮_定如何瀏覽這些 iframe。我假設(shè)webDriver.switchTo().frame(index);是我唯一的選擇,因?yàn)?iframe 未命名且沒有元素 ID。但這就是我來這里的原因。
2 回答

智慧大石
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
找到了我的問題的答案。
請(qǐng)注意每個(gè) iframe 都從索引 0 開始。
因此,如果您有沒有名稱或 ID 的嵌套 iframe——就像這樣
(框架 C)嵌套在(框架 B)中,后者嵌套在(框架 A)中
幀A
---框架B
------框架C
你會(huì)嘗試這樣的事情
driver.switchTo().frame(0) driver.switchTo().frame(0) driver.switchTo().frame(0)
為了到達(dá)“框架C”

飲歌長嘯
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
兄弟,既然你限制了索引號(hào),你為什么不打電話給你的開發(fā)團(tuán)隊(duì)并要求根據(jù)要求設(shè)置框架名稱。我們?cè)陬愃频那闆r下做了同樣的事情
添加回答
舉報(bào)
0/150
提交
取消