python+seleniumでChromeとEdgeを操作する/インストールと環境設定と動作確認2018-01-10python+seleniumでChromeとEdgeを操作する/インストールと環境設定と動作確認PG:Pythonによる自動化(RPA)Seleniumとその動作に必要なWebDriverのインストールと動作環境設定です。以前に書いた記事ですが、内容が古くなったので全面リライトしました。pythonは、3.7系です。PythonモジュールのインストールWindows10環境に、Anacondaをインストールして利用可能になっていることを前提にします。場合は以下からダウンロードしてインストールしておいてください。www.anaconda.comさて。インストールはpipを使えば簡単です。seleniumでも、今はもっと便利なものがあります。robotframework-appiumlibraryこれをインストールするとSeleniumを含むアプリケーションの自動実行に必要な以下の諸々が一度にインストールされるので、自分はこちらでやってます。Appium-Python-Clientdecoratordocutilskitchenrobotframeworkrobotframework-appiumlibraryseleniumsixurllibWEBDriverのインストールseleniumでWEBブラウザを操作するには、各ブラウザに対応するWEBDriverをインストールしておく必要があります。Edgeの2つのインストール方法です。Chrome用ドライバのインストールと環境設定Chromeドライバは、以前はWEBページからダウンロードしてましたが、今は、pipで簡単にインストールできます。chromedriver-binary==76.0.3809.126この「==76.0.3809.126」はバージョン指定です。Chromeドライバは常時開発されているので、バージョン指定せずにインストールすると、現在稼働中のバージョンより進んでしまって動かない場合があります。こちらのページで自分の環境のChromeにあわせたバージョンを確認して指定します。chromedriver.chromium.orgインストールしたら、以下のコマンドを実行します。chromedriver-pathそうすると、以下のようにChromeドライバーがインストールされたフルパスが表示されます。c:\users\xxxxxxx\appdata\local\continuum\anaconda3\envs\autotest\lib\site-packages\chromedriver_binaryこのパスを環境変数の「PATH」に追加しておきます。環境変数に設定しない場合は、Pythonのソースの中で上記を引数として指定しないといけなくなるので、やっといたほうが楽です。Edge用ドライバーのインストールこちらも以前はWEBページからダウンロードしてましたが、今はWindows10の「オプション機能の管理」からインストールします。Windowsの設定を開きます。オプション機能の管理を選びます。ここで「+機能の追加」を選びます。WebDriver」があるので、それを選択してインストールします。これで、以下にインストールされます。C:\\windows\\system32\\MicrosoftWebDriver.exeこのパスが後で使う時に必要になります。動作確認をしてみるとりあえず、サンプルソースを動かしてみます。ソースはこれだけです。driver.find_element_by_name("q")search_box.send_keys('ChromeDriver')search_box.submit()time.sleep(5)driver.quit()続けで、Edgeで同じことをするソースです。driver.find_element_by_name("q")search_box.send_keys('ChromeDriver')search_box.submit()time.sleep(5)driver.quit()どちらも、Google画面を表示して、ChromeDriverで検索して結果を表示します。その後、5秒だけ待って、自動終了するようにしています。これが動けば、インストールと環境設定はうまくいってます。お気に入りの曲を検索してかけてみようじゃあ、ちゃんと動作確認をしてみます。どんな命令があるのかは、こちらでサイトで簡単に確かめることができます。www.seleniumqref.com対象とするサイトは、「MUSIC-FAN-CLUBHOUSE(MFCH)」にします。160.16.234.220地味で、最近メンテナンスもあまりされてない様ですが、生成するHTMLがシンプルで自動化テストを試すには使いやすいシンプルなサイトです。明らかに個人が趣味で作ってそのまま置いてます・・って感じなので、いつまであるかわからないですけど(笑)ここで、自分の好きなカヨコさんの「イミテーションロック」という曲を検索して、再生してみるというのを自動的にやってみようと思います。youtubeの動画なので、突然再生できなくなったりする可能性は常にあります。2019/2/23時点では、まだ大丈夫でしたけど。LIVE")elt2.click()解説します。webdriver.Chrome()最初にChromeブラウザを立ち上げて、アーティスト検索画面に遷移します。driver.get("http://160.16.234.220/mfc/artistRankList/#here")アーティスト検索画面のテキストボックスに「カヨコ」と入力して、ENTERキーを押して検索します。driver.find_element_by_name("nameSelectionData")elem.clear()elem.send_keys("カヨコ")elem.send_keys(Keys.RETURN)なんで、上記のコードで「アーティスト名」のテキストボックスが選択できるかというと、ソースの表示で確認したHTMLがこうなっているからです。style="width:250px">その検索結果画面で、「カヨコ」という表示名のリンクを探してクリックします。LIVE」という曲名のリンクを探してクリックします。LIVE")elt2.click()これで動画が表示されて、うまくいけば自動的に曲が再生されるはずです。(環境によって自動再生できない時もありますけど・・)いい感じです。自動的に動いて画面が動いていくのを眺めているだけでも面白いです。検索スポンサーリンク最近のアクセスTOP5ブクマ数TOP3IT的なTIPS・ノウハウイベントログから抽出したログオン・オフ時刻を見やすいように整形するEXCELのVBAマクロなど。Google検索は利用するけど、アクティビティを保存させたくない時もある文字コードで悩まされるなんて久しぶり/JIS7(ISO-2022-JP)とJIS8の話もっと見る作業時によく参照する「まとめ」djangoテンプレート内でforループで回す時の整理とデフォルト辞書利用時の注意など。djangoテンプレート内ので条件分岐(IF文)で注意することなどをまとめておくdjangoテンプレート/変数の値の参照の仕方が、Pythonと違う所があるので整理しておく。service」とサーバーレスコンピューティング関係をまとめてみる。PWA・SPA・・など「最近のWEBアプリケーションの種類」をざっくりまとめる。文系的まとめディープラーニング(ニューラルネットワーク)の「学習」の肝は「微分」らしいよ。Consoleもっと見るディープラーニングのデモをやってみるWord2Vecで「単語の足し算・引き算の結果(単語)を取得する」デモをやってみる。API」で入力文の疑わしい部分をAIが指摘するデモを作る。classで事前学習済のVGG16モデルを使った画像識別クラス/tensorflow2.0(tf.keras)ランダムフォレストで回帰してみる/気象情報と電力データその2もっと見るPythonでWebアプリやってみるviews.py(python)からデータを渡して、Chart.jsでRaderチャートを描く/Chart.js+djangoWEBブラウザ上にドラッグ&ドロップした画像ファイルをBase64に変換して表示するWEBブラウザで手描きしたイメージをJPEG・PNG変換後Base64エンコードするもっと見るPythonで自動化やってみるWebアプリケーションで自動的に値を参照、スクロール他Tips/Selenium&pythonWebアプリケーションで自動的に何かをクリックするTips/Selenium&pythonWebアプリケーションへの自動入力・選択のTipsあれこれ/Selenium&pythonもっと見るPythonで数学・グラフィックスやってみるモンティ・ホール問題で、ちょっと暇つぶし。最近、台風が怖すぎる!!!生産性向上しろと言いながら、片方で足をひっぱるなんて・・と呆れてます。/軽減税率のニュースを見てもっと見るBOKU62歳の文系SE”BOKU”です。<arakan_no_boku@yahoo.co.jp>興味の向いたものを、つまみ食い的に勉強してます。自分が消化した内容を、頭の整理と備忘を兼ねてブログに書いてます。IT系・・特に機械学習・プログラムネタが中心ですが、IT以外のネタになる時もあります。(43)スポンサーリンクはてなブログをはじめよう!arakan_no_bokuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。