19
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Seleniumでiframeに出入りしてみた

Last updated at Posted at 2019-03-24

##なぜか取れない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で操作しなければいけない工数が少ない場合は、こちらの記事にある方がお勧めだと思います。

直接開く方法はページの真ん中より少し下に載っています。

19
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?