LoginSignup
1

More than 1 year has passed since last update.

[ShimaBlock]Python&Seleniumで起動済みブラウザ(Chrome)に再接続して操作するサンプル

Last updated at Posted at 2021-09-18

概要

ShimaBlock for Pythonの操作サンプルです。
Python、Seleniumを用いた、ブラウザ操作コードを生成します。

使用サイト:ShimaBlock for Python

ソースコード概要

起動したChromeを別のpyファイルから再接続して、ブラウザを操作します。

使用ファイル

chrome_open.py

ブラウザ(Chrome)を起動し、接続用URLとセッションIDをpickleファイルに格納します。

chrome_reconnect.py

pickleファイルから接続用URLとセッションIDを取得し、webdriver.Remoteで再接続します。
再接続したChromeのURLを変更します。

data.pickle

上記のpyファイル間のデータ連携用ファイルです。
「chrome_open.py」実行時に自動生成されます。

Chrome起動&接続設定保存(ブロック)

image.png

Chrome起動&接続設定保存(生成コード)

chrome_open.py
from selenium import webdriver
import pickle

driver = None
session_id = None
url = None


driver = webdriver.Chrome()
driver.get('https://shima-soft.com/')
session_id = driver.session_id
url = driver.command_executor._url
with open('data.pickle', 'wb') as f:
  pickle.dump(session_id, f)
  pickle.dump(url, f)

Chrome再接続&URL変更(ブロック)

image.png

Chrome再接続&URL変更(生成コード)

chrome_reconnect.py
import pickle
from selenium import webdriver
import time

session_id = None
url = None
driver = None


with open('data.pickle', 'rb') as f:
  session_id = pickle.load(f)
  url = pickle.load(f)
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Remote(command_executor=url,options=options)
driver.close()
driver.quit()
driver.session_id = session_id
driver.get('https://shima-block.shima-soft.com/')
time.sleep(1)
driver.get('https://shima-soft.com/')

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
1