PythonでSeleniumを使用してWebサイトへアクセスする場合ですが、ブラウザとしてEdgeを使用する場合のドライバーのインストール、設定とWebサイトへのアクセス方法については以前以下のような過去記事で紹介しました。
また、先日、I.E.のサポートが終了しましたが、システムによってはI.E.でアクセスしなければというシステムもまだ残っていると思います。
EdgeのI.E.モードでドライバーを設定してWebサイトへアクセスする方法については事前準備での設定と共に以下の過去記事にて紹介しています。
EdgeのI.E.モードの場合は、事前設定として、拡大率や保護モードの設定を行っておかなければならないということでした。
この場合、拡大率や保護モード設定が普段使用して設定と異なっている場合、その都度設定する必要があることになります。
そもそも拡大率や保護モードの設定自体はなぜ必要かというと、ドライバー設定時にチェックがあるため設定が違っているとその時点でエラーが出て終了してしまうため設定をしておかなければなりませんでした。
そこで今回は以上のような設定チェックをしないでもいいような場合に、プログラム上のドライバー設定に際し、拡大率や保護モード設定のチェックを無視するような設定方法を紹介します。
こうすることで特にチェックの必要のない場合には、毎回の設定変更をしないですむことになると思います。
元々過去記事で紹介したEdgeのI.E.モードでのドライバーの設定例は、以下のようなものでした。
from selenium import webdriver import os from selenium.webdriver.chrome import service as fs ieOptions = webdriver.IeOptions() ieOptions.add_additional_option("ie.edgechromium", True) ieOptions.add_additional_option("ie.edgepath",'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe')
path_driver = os.getcwd()+'\IEDriverServer.exe' # ドライバー指定でEdgeブラウザを開く ie_service = fs.Service(executable_path=path_driver) driver = webdriver.Ie(service=ie_service, options=ieOptions) driver.get('https://www.google.com/')
拡大率と保護モードの設定チェックを無視する場合、以下のように無視する設定をそれぞれ1行ずつ追加します。
from selenium import webdriver import os from selenium.webdriver.chrome import service as fs ieOptions = webdriver.IeOptions() ieOptions.add_additional_option("ie.edgechromium", True)
########拡大率設定チェックと保護モードチェックしない設定######## ieOptions.ignore_zoom_level = True ieOptions.ignore_protected_mode_settings = True ############################################################
ieOptions.add_additional_option("ie.edgepath",'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe') path_driver = os.getcwd()+'\IEDriverServer.exe' # ドライバー指定でEdgeブラウザを開く ie_service = fs.Service(executable_path=path_driver) driver = webdriver.Ie(service=ie_service, options=ieOptions) driver.get('https://www.google.com/')
追加したものはコメント行を除いた行数で6,7行目です。
6行目の、
ieOptions.ignore_zoom_level = True
が拡大率設定チェックを無視する設定
7行目の、
ieOptions.ignore_protected_mode_settings = True
が保護モードの設定チェックを無視する設定です。
これら2行を追加することで、ドライバー設定時の拡大率と保護モードの設定チェックをしなくなりますので結果的にその都度の設定変更をしないですむことになります。
また、PythonにてSeleniumを活用してスクレイピング、RPA化などを行っていく場合に必要となりそうな内容の記事を一覧として以下にまとめましたのでよかったらご参照ください。
関連記事:
【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録
【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録
【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録
【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録
【PythonでのExcelファイル読み書き方法】ファイルオープンしているファイル(アクティブファイル)への書込方法 - Django Girls and Boys 備忘録
【Python Selenium】Webサイトのスクレイピングなどで必要なフレーム間移動方法 - Django Girls and Boys 備忘録
【Python Selenium】ブラウザ用ドライバーのダウンロードとインストール方法 - Django Girls and Boys 備忘録
【PythonからWeb操作】selenium、各ブラウザ用ドライバーの最新バージョン確認、ダウンロード場所 - Django Girls and Boys 備忘録
【Python Selenium】新規ウインドウ追加時のウインドウ切替方法 - Django Girls and Boys 備忘録
【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録
【Python Selenium】新規ウインドウ(新規タブ)追加時のウインドウ切替方法(追加ハンドルをハンドル差異比較にて取得) - Django Girls and Boys 備忘録
【python】実行時に表示されるコンソールウインドウを非表示にする方法 - Django Girls and Boys 備忘録
【Python Selenium】Webサイトのソースコードをファイル保存する方法 - Django Girls and Boys 備忘録
【Python Selenium】EdgeのI.E.モード操作の事前準備での設定 - Django Girls and Boys 備忘録
【Python Selenium】EdgeのI.E.モードでブラウザ操作する場合のドライバー設定方法と簡単な起動例 - Django Girls and Boys 備忘録
【Python】キー入力によるプログラム終了処理、ループを抜けて次の処理へ移行する処理 - Django Girls and Boys 備忘録
【Python Excel】ExcelからのPython実行ファイル(アプリケーションファイル)起動方法 - Django Girls and Boys 備忘録
【Python Seleuium】ブラウザの拡大率の設定変更 - Django Girls and Boys 備忘録
【Python Selenium】EdgeのI.E.モードのドライバー設定での拡大率、保護モード設定チェックを無視する方法 - Django Girls and Boys 備忘録
【Python】ログイン中のユーザ名を取得する方法 - Django Girls and Boys 備忘録
【Python Selenium】クローリング、スクレイピングにて対象ウインドウのソースコードを調べる方法 - Django Girls and Boys 備忘録
【Python Selenium】ウインドウのURLを指定して画面展開する方法と現在表示されているウインドウのURLとタイトルを取得する方法 - Django Girls and Boys 備忘録