2016-12-20 75 views
1

我使用的方法類似FindElementsByCssSelectorRemoteWebDriver.FindElementsByCssSelector如何在iframe中查找iframe?

var iframes = RemoteWebDriver.FindElementsByCssSelector("iframe"); 

這給了我兩個I幀。

如果我在瀏覽器的開發控制檯寫

$('iframe'); 

,只顯示一個。

在DOM中,一個iframe是在另一個內部,如:

iframe 
    html 
    body 
    form 
    div 
     table 
     tbody 
     tr 
     td 
      iframe 
+1

你們是不是要找到他們切換到他們要麼 ?如果你只是想切換到它們,你(通常)不需要先找到它們。只需將定位器放在'switchTo()'中。 – JeffC

回答

1

找到冷杉框架,並用它來定位另一個

IWebElement firstIframe = RemoteWebDriver.FindElementByCssSelector("iframe"); 
RemoteWebDriver.SwitchTo().Frame(firstIframe); 
IWebElement secondIframe = iframe.FindElementByCssSelector("iframe"); 
RemoteWebDriver.SwitchTo().Frame(secondIframe); 
+0

您可能應該只添加一個襯墊來切換到iframe。 – JeffC

+0

@JeffC編輯。 – Guy

+0

但我神祕地找到兩個iframe而不切換任何東西。 –