上流SEが久しぶりに開発してみる日記

マネジメント専任システムエンジニアがなれないプログラミングをしてみる日記です。

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でのスクレイピングもだいたい動きが分かってきましたー。