Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python Selenium】ウインドウ表示などでのWaitの方法、待機方法

 

 

目次

  • 1.time.sleep()での待機
  • 2.implicitly_wait()での待機
  • 3.WebDriverWait()での待機

 

先日以下の過去記事で、Selenium上でのウインドウの切替方法について記載しました。

 

 

kuku81kuku81.hatenablog.com

 

 

概略の内容としては、

 

# ウィンドウハンドルを取得する
newhandles = driver.window_handles

 

などで、ウインドウハンドルを取得した後、

 

# driverでの操作できるウインドウを切り替える
driver.switch_to.window(newhandles [1])

 

や、

 

# driverでの操作できるウインドウを切り替える
driver.switch_to.window(newhandles [-1])

 

などで、driverが扱えるウインドウを切り替えることになります。

ただし、Webサイトの表示の場合、新規ウインドウの表示操作などを行ってから実際に表示されるまでには時間差があります。

 

必要な要素が表示される前に次の操作を行ってしまうと要素が存在しないということでエラーが表示されます。

 

そこで「表示が終了するまで待つ」という処理が必要になります。

続きを読む

【Python Selenium】新規ウインドウ追加時のウインドウ切替方法

PythonSeleniumを使用してWebサイトへのアクセスをする場合に必要になってくる機能の1つにウインドウの遷移(切替)があります。

 

Webサイト上でボタンなどをクリックした時に新規ウインドウが別タブ、別ウインドウとして開いた時は、自driverが操作できるウインドウハンドルを切替えてやらなければなりません。

続きを読む

【Python Selenium】Edgeなどのドライバー(Webdriver)設定とWebサイトへのアクセス方法

 

PythonSeleniumを使用してWebサイトへアクセスする場合ですが、ドライバーを設定してのWebサイトへのアクセスを簡単な例を挙げて説明します。

続きを読む

【Python Selenium】ブラウザ用ドライバー(Webdriver)のダウンロードとインストール方法

 


PythonSeleniumを使用してWebサイトへのアクセスする場合についてですが、まずはじめに必要になることの1つとしてブラウザ用のドライバーのインストールがあります。

 

ここでは、各ブラウザ用のドライバーのインストール手順を簡単な例を挙げて説明します。

 

続きを読む

【PythonからWeb操作】selenium、各ブラウザ用ドライバー(Webdriver)の最新バージョン確認、ダウンロード場所


 

PyhtonからWebサイトにアクセスして情報を読み取ったり、操作したりする場合に使用するフレームワークの1つにseleniumがあります。

 

 

実際にseleniumを使用してブラウザ操作をする場合に必要になるものとしては、

seleniumともう1つ、使用するブラウザのドライバーがあります。

 

ブラウザのドライバーはEdge用、Chrome用などがあり、すでにサポートが終了したI.E.を操作する場合には、EdgeのI.E.モードで操作することになります。

その場合には、I.E.用のドライバーもインストールしなければなりません。

続きを読む

【Python】仮想環境構築手順(Pythonの複数バージョン分け、モジュール分けなど共)

 

Pythonにて、2系、3系など環境を使い分けたいという場合や、WebスクレイピングなどでSeleniumのVer.3系とVer.4系の環境を分けたいという場合など、環境を使い分けたい場合の1つの手段が仮想環境となりますが、その構築手順を記載していきます。

続きを読む

【Python Selenium】Webサイトのスクレイピングなどで必要なフレーム間移動方法


 

seleniumを使用してWeb情報取得、操作を行っている場合に必要となることの1つにフレーム間移動があります。

 

Webサイトがフレーム構造となっており、親フレーム、子フレームなどの階層構造になっている場合があります。

 

そのような場合に該当する要素の情報取得や操作を行う場合には、その要素が存在しているフレームまで移動してから取得、操作を行う必要があります。

続きを読む