##なぜか取れないiframeの中身
以前スクレイピングをしていた際、検証モードからセレクタを指定しているのにも関わらず
selenium.common.exceptions.NoSuchElementException
とエラーを吐きました。
中を見ると操作したい部分がiframe構造の中に入っており、どうやらiframeの外からでは中のDOMを操作できないようになっていました。面倒だったので対処法を残しておきます。
##iframeに入ろう!
iframe = driver.find_element_by_css_selector('欲しいiframeのcssセレクタ')
driver.switch_to_frame(iframe)
これでiframe内のDOMにアクセスできるようになりました。
##iframeから抜けてみよう!
driver.switch_to.default_content()
一行でiframeから抜け出せます。
##最後に
この記事を見ると、iframe内のリンクを直接開く方法もありますね。
seleniumで操作しなければいけない工数が少ない場合は、こちらの記事にある方がお勧めだと思います。