2016-12-20 15 views
1

は私がRemoteWebDriver.FindElementsByCssSelectorはiframe内のiframeをどのように見つけることができますか?

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

のような方法FindElementsByCssSelectorを使用していますが、それは私の2つのiframeを与えます。

私は、ブラウザの開発コンソールで

$('iframe'); 

を記述する場合、それは一つだけを表示します。 DOMでは

、1つのiframeは別のように内側にある:

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

を見つけるためにそれを使用するあなたがそれらに切り替えるには、それらを見つけるためにしようとしていますまたは?彼らに切り替えようとしているだけであれば、(一般的に)それらを最初に見つけ出す必要はありません。 'switchTo()'にロケータを置くだけです。 – JeffC

答えて

1

もみフレームを見つけて、他の1

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

iframeに切り替えるには、ライナーを1つ追加するだけです。 – JeffC

+0

@ JeffCが編集されました。 – Guy

+0

しかし私は不思議なことに、何かに切り替えることなく両方のiframeを見つけました。 –

関連する問題