【python3 スクレイピング】新規ウィンドウが出てきて操作が出来ない時の対応

【python3 スクレイピング】新規ウィンドウが出てきて操作が出来ない時の対応

python3でスクレイピングをしていた時にウィンドウの変更が上手くいかないことがあったので方法を残しておきます。

スクレイピングでは開いているページとは別の他のタブを操作したい場合、そのタブのウィンドウハンドルを指定する必要があります。
その操作方法の一つがこちらです。

# 現在のハンドルを取得
old_hdl = driver.window_handles[0]

# window_handlesで一覧を取得した後、old_hdlと一致しないものを探す。それがもう一方
new_hdl = None
for handle in driver.window_handles:
    if new_hdl != handle:
        size_hdl = handle
        break
# ウィンドウハンドルをnew_hdlに変更
driver.switch_to_window(new_hdl)
# ウィンドウハンドルをold_hdlに戻す
driver.switch_to_window(old_hdl)

タブが2つでもう一方のハンドルを知りたいときに使えます。
何故か上手くウィンドウハンドルが切り替わらないサイトなどはこちらを試してみて下さい。


最高の6ヶ月!超実践型プログラミングスクール【.pro】

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です