python seleniumでスクレイピングしたいが、動かない。。。。
はい。seleniumもかなり苦戦しましたというお話です。
seleniumというパッケージ(ライブラリ?)を使うと、
簡単にhtmlの要素を指定して、submitしたり、テキスト取得したりできます。
が。。。早速苦戦しました。
苦戦ポイント① 別タブ、別ウインドウ
別タブ、別ウインドウが立ち上がるときは、ドライバーを変更しないと!
これもかなりつまづいていたのですが、ネット検索してようやく気付きました。
困ったらこの一文でOKです。
driver.switch_to.window(driver.window_handles[1])
ようは、ウインドウやタブが変わると、seleniumはどこのhtmlを見ていいかわからないので、見る先を指定してねということかと。。。
苦戦ポイント② frame
htmlの構成要素にframeが組み込まれている場合があります。
この場合ドライバーでframe指定が必要らしい。。。
これは相当苦戦して、なぜ動かないか調べまくってもわからないし、
動くhtmlと動かないhtmlを比較してようやくどうやらframeが怪しいと気づき、
検索すると分かった事象です。。。
driver.switch_to.frame('menu')
こんな感じでフレームのここを見に行くんだと指定する必要があります。
指定したら動きました。
感動。。。。
てな感じでどうにか、seleniumでのスクレイピングもだいたい動きが分かってきましたー。