我有一個 .jsp 頁面,我試圖從中獲取 Web 元素并執行點擊和輸入功能。在嘗試在 jsp 頁面上識別這些 Web 元素的試驗和錯誤之后,我注意到該頁面包含“iframe”。我已經查找了資源,以便能夠按名稱瀏覽 iframe,并在此處按索引瀏覽 iframehttps://www.guru99.com/handling-iframes-selenium.html 但是,我覺得我有一個特例,因為我正在處理的所有 iframe 都沒有元素 ID 或名稱。此外,我需要導航到的 iframe 嵌套在其他 iframe 中。因為據我所知,我僅限于使用 switchTo().frame(index)由于沒有命名 iframe,我已經嘗試過 webDriver.switchTo().frame(index);但是因為我正在處理嵌套的 iframe,所以我不確定我是否到達了我需要去的地方。我試過類似的東西webDriver.switchTo().frame(0);webDriver.switchTo().frame(1);webDriver.switchTo().frame(2);webDriver.switchTo().frame(3);看看在我得到異常之前我可以深入到什么程度。這很難,因為我也無法確定我當前所在的 iframe。也許我需要創建當前 iframe 的對象,然后以這種方式向下鉆???代碼看起來有點像這樣......<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 內的 Web 元素,但我一直沒有成功,因為我不確定如何瀏覽這些 iframe。我假設webDriver.switchTo().frame(index);是我唯一的選擇,因為 iframe 未命名且沒有元素 ID。但這就是我來這里的原因。
2 回答

智慧大石
TA貢獻1946條經驗 獲得超3個贊
找到了我的問題的答案。
請注意每個 iframe 都從索引 0 開始。
因此,如果您有沒有名稱或 ID 的嵌套 iframe——就像這樣
(框架 C)嵌套在(框架 B)中,后者嵌套在(框架 A)中
幀A
---框架B
------框架C
你會嘗試這樣的事情
driver.switchTo().frame(0) driver.switchTo().frame(0) driver.switchTo().frame(0)
為了到達“框架C”
添加回答
舉報
0/150
提交
取消