IEのiframeに切り替えることができません

コードトレイル:

driver.switchTo().defaultContent();
List before = driver.findElements(By.tagName("iframe"));

for (WebElement t : before) {
    System.out.println("iframe" + t.getAttribute("src"));
}

driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@src,'srcpath')]")));
List after = driver.findElements(By.tagName("iframe"));
for (WebElement t : after) {
 System.out.println("iframe" + t.getAttribute("src"));
 if(t.getAttribute("src").equalsIgnoreCase("expectedsrc")){
    System.out.println("success");
    break;                              
  }
}

iframeに切り替える前に( abc )、 abc
のiframeが正しく表示されています。しかし、切り替え後、同じiframe
が印刷されます。しかし、実際には、 ‘abc’
iframe内に異なるiframeがあります。したがって、abcに切り替えた後は、abc内だけのiframeやabc
iframeと一緒にiframeを出力するはずです。

私は、 Iframe に切り替えたことを明確にする
NoSuchFrameException を表示しませんでした。

IFrameには id 属性、 class 属性、
src 属性はありません。

しかし、abc iframeのPageSourceを印刷すると、abc iframeのhtmlソースだけが出力されます。

String pagesrc = driver.switchTo()
        .frame(driver.findElement(By.xpath("//iframe[contains(@src,'srcpath')]"))).getPageSource();

面白いことに、同じコードはChromeとFFで動作します。

Configuration: IEDriverServer: 3.12.0
IEBrowser: IE9 Jar : Selenium 3.4.0 JDK : 1.8

Html Source: Source

ベストアンサー
申し訳ありませんが、適切な答えはありません

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です