亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當框架沒有ID時如何在Selenium Webdriver中識別并切換到框架

當框架沒有ID時如何在Selenium Webdriver中識別并切換到框架

慕的地10843 2019-12-02 13:11:30
誰能告訴我如何識別并切換到只有標題的iframe?<iframe frameborder="0" style="border: 0px none; width: 100%; height: 356px; min-width: 0px; min-height: 0px; overflow: auto;" dojoattachpoint="frame" title="Fill Quote" src="https://tssstrpms501.corp.trelleborg.com:12001/teamworks/process.lsw?zWorkflowState=1&zTaskId=4581&zResetContext=true&coachDebugTrace=none">我已經嘗試通過下面的代碼,但不能正常工作driver.switchTo().frame(driver.findElement(By.tagName("iframe")));
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

您可以使用cssSelector,


driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[title='Fill Quote']")));


查看完整回答
反對 回復 2019-12-02
?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

driver.switchTo().frame() 有多個重載。


driver.switchTo().frame(name_or_id)

在這里,您iframe沒有ID或名稱,因此不適合您。


driver.switchTo().frame(index)

這是最后選擇的選項,因為使用索引不夠穩定,可以想象。如果這是您頁面中唯一的iframe,請嘗試driver.switchTo().frame(0)


driver.switchTo().frame(iframe_element)

最常見的一種。您可以像其他元素一樣定位iframe,然后將其傳遞到方法中。


在這里按title屬性定位似乎是最好的。


driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[title='Fill Quote']")));

// driver.switchTo().frame(driver.findElement(By.xpath(".//iframe[@title='Fill Quote']")));


查看完整回答
反對 回復 2019-12-02
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

在切換到框架之前,請確保切換到默認內容:


driver.switchTo().defaultContent();

driver.switchTo().frame(x);

x可以是幀編號,也可以是a driver.findlement并使用可用的任何選項,例如:driver.findElementByName("Name")。


查看完整回答
反對 回復 2019-12-02
  • 3 回答
  • 0 關注
  • 885 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號