helper.chromeDriver module
Selenium Chromeドライバのヘルパー
selenium chromeでスクレイピングを実施する
- class helper.chromeDriver.ChromeDriver(value_object: ChromeDriverValue | str = None, selectors: dict = None, download_path: str = 'D:/git/igaponr/training/python/Web_scraping/helper/../download')[ソース]
ベースクラス:
objectchromeドライバを操作する
サンプル
>>> helper = ChromeDriver(url="https://www.google.com", selectors={"title": [(By.TAG_NAME, "title", lambda elem: elem.text)]}) >>> print(helper.get_items()) {'title': ['Google']} >>> helper.destroy()
- chrome_path = '"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"'
- close(window_handle=None)[ソース]
openで開いた画面の内、指定の画面か、現在の画面を閉じる
- パラメータ:
window_handle -- 閉じる画面のハンドル
- 例外:
ValueError -- 指定のwindow_handleがリストに存在しない場合
- download_image(url: str, download_image_path: str = None) None[ソース]
(画面遷移有)urlの画像を保存する(open_new_tab → save_image → closeする)
- パラメータ:
url (str) -- 画像のurl
download_image_path (str, optional) -- ダウンロード先のパス。指定しない場合は、インスタンスの download_image_path を使用する
- download_path: str = 'D:/git/igaponr/training/python/Web_scraping/helper/../download'
- driver_path = 'D:\\git\\igaponr\\training\\python\\Web_scraping\\helper\\driver\\chromedriver.exe'
- static fixed_file_name(file_name: str) str[ソース]
ファイル名の禁止文字を全角文字に置き換える
- パラメータ:
file_name -- 置き換えたいファイル名
- 戻り値:
置き換え後のファイル名
- static fixed_path(file_path: str) str[ソース]
フォルダ名の禁止文字を全角文字に置き換える
- パラメータ:
file_path -- 置き換えたいフォルダパス
- 戻り値:
置き換え後のフォルダパス
- get_items() dict[str, list[str]][ソース]
スクレイピング結果を取得する
- 戻り値:
スクレイピング結果
- 例外:
ValueError -- スクレイピング結果が存在しない場合
- get_selectors() dict[str, list[tuple[By, str, Callable[[WebElement], str]]]][ソース]
セレクタを取得する
- 戻り値:
セレクタ
- 例外:
ValueError -- セレクタが存在しない場合
- get_value_object() ChromeDriverValue[ソース]
値オブジェクトを取得する
- 戻り値:
値オブジェクト
- 例外:
ValueError -- value_object が存在しない場合
- static is_chrome_running_in_debug_mode() bool[ソース]
Chrome がデバッグモードで実行されているか確認する
- 戻り値:
Chrome が起動し、9222 ポートに応答する場合. False: それ以外
- 戻り値の型:
True
- open_new_tab(url: str) str[ソース]
(画面遷移有)新しいタブでurlを開く
- パラメータ:
url (str) -- 開くURL
- 戻り値:
開いたタブのハンドル
- 戻り値の型:
str
- 例外:
Exception -- 新しいタブを開けなかった場合
- open_new_tabs(url_list: list) list[ソース]
(画面遷移有)新しいタブでurlリストを開く
- パラメータ:
url_list (list[str]) -- 開くURLのリスト
- 戻り値:
開いたタブのハンドルリスト
- 戻り値の型:
list[str]
- profile_path = 'C:\\Users\\igapon\\temp'
- root_path = 'D:\\git\\igaponr\\training\\python\\Web_scraping\\helper'
- save_image(download_file_name, download_ext='.jpg', wait_time=10)[ソース]
表示されている画像を保存する
chromeのデフォルトダウンロードフォルダに保存された後に、指定のフォルダに移動する ダウンロード実行用スクリプトを生成&実行する
- パラメータ:
download_file_name -- ダウンロードするファイル名
download_ext -- ダウンロードするファイルの拡張子。デフォルトは '.jpg'
wait_time -- ファイルのダウンロード完了を待つ時間(秒)。デフォルトは 3 秒
- 例外:
TimeoutError -- wait_time秒以内にダウンロードが完了しなかった場合
- save_source(path: str = './title.html') None[ソース]
(画面依存)現在の画面のソースコードをファイルに保存する
- パラメータ:
path (str, optional) -- 保存するファイルパス(URLかタイトルを指定するとよさそう)。 デフォルトは './title.html'
- scraping(selectors: dict[str, list[tuple[By, str, Callable[[WebElement], str]]]]) dict[str, list[str]][ソース]
現在表示の URL に対してスクレイピングを実行する
- パラメータ:
selectors -- スクレイピングする際のセレクタリスト key: スクレイピング結果のキー value: [(By, セレクタ, WebElementに対するアクション)...] のリスト
- 戻り値:
スクレイピング結果の辞書
- value_object: ChromeDriverValue = None