Google Chromeの開発ツールでは表示されているDOM要素がSeleniumで取得できない場合
前回の記事に追加で対処法をまとめます。
<1つの可能性>
取得したいDOM要素の上位階層にiframe
タグがないか確認してみてください。
<iframe>
<div>
<span>ここへアクセスしたい</span>
</div>
</iframe>
この状態で
そのiframe
タグの要素へアクセスポイントを1度移す必要があります。
WebElement iframe_elem = driver.findElement(By.tagName("iframe"));
driver.switchTo().frame(iframe_elem );
これで iframe
タグ要素以下の階層へアクセスできます。
1度iframe
タグの要素へアクセスした後は、iframe
タグの要素より下位階層を自動的に参照するようになります。
参照範囲をもとに戻したい場合は以下のコードでできるようです。
driver.switch_to.default_content()