PythonとSeleniumを使って簡単な自動ログインボットを構築する方法
オートメーション 間違いなくプログラマーが持つことができる最も切望されているスキルの1つです。自動化は通常、次のようなタスクに使用されます。 繰り返し、退屈、時間がかかる, もしくはそうでないか 非効率的な スクリプトを使用せずに.
あり ウェブオートメーション, 簡単にできます さまざまなタスクを実行するためのボットを作成する インターネット上で競合するホテルの料金を監視し、最適な価格を決定するなど、Web上で.
個人的に、私はいつも見つけました 私のEメールにログインする かなり反復的で退屈なので、単純な例であなたをみんなに導いてもらいましょう。 Webオートメーションから始めた, 実装しましょう 自動Pythonスクリプト に ワンクリックでログイン Gmailアカウントに.
インストールと設定
このチュートリアルでは、 以下のツール:
- Pythonプログラミング言語
- Google Chromeブラウザ
- Seleniumブラウザ自動化ツールキット
- Chrome用ChromeドライバWebドライバ
私たちのプログラムでは、Pythonプログラミング言語を使用します。具体的には、 バージョン2.7.11. 我々がインストールすることが重要です Python 2のかなり新しいバージョン それが付属しているため PIP, スクリプトを自動化するために必要なサードパーティのパッケージやフレームワークをインストールすることができます。.
インストールしたら, コンピュータを再起動してください 変更内容が有効になります。コマンドを使う PIPインストールセレン
追加する Selenium Web自動化ツールキット Pythonへ。 Seleniumでは、プログラムによるスクロール、テキストのコピー、フォームの入力、ボタンのクリックが可能になります。.
最後にダウンロード Selenium Chrome Driverの実行ファイル, どちらでしょう Google Chromeを開く 自動タスクを実行するために必要に応じて。 Chromeドライバは、単純にGoogle Chromeを開く方法です(すでにインストールされているはずです)。 プログラムで標準のブラウザ操作にアクセスする.
ここから最新のZIPファイルを単にダウンロードし、解凍してください。 chromedriver.exe
実行可能ファイルを選択し、実行可能ファイルを任意のディレクトリに配置します。実行ファイルがどこにあるかを必ずメモしてください。 始めたらそれが必要になります.
プログラムを起動する
前述の通り、私たちは Selenium Web自動化フレームワーク のために プログラムでログインする. ビジネスの最初の順序は すべてのモジュールをインポートする 我々はPIPでealierをインストールしたSelenium Pythonライブラリから必要となるでしょう。.
IDLEまたは他のコードエディタを開きましょう, 新しいPythonファイルを作成する と .py
拡張子、 以下のモジュールをインポートする:
seleniumからインポートwebdriverからselenium.webdriver.common.byからインポートimport by selenium.webdriver.support.uiからWebDriverWaitからselenium.webdriver.supportからインポートexpected_conditionsをECとしてインポート
次にします。 2つの文字列を作る それは私たちを表します ユーザー名とパスワード メールアカウント用。特にパスワード文字列で大文字と小文字を区別します。.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
ログインプロセスを開始するための準備がすべて整ったので、ブラウザウィンドウに次のように指示する必要があります。 Google Chromeを開く, そして Gmailのログインページに移動します.
まだ行っていない場合は、Pythonスクリプトが と同じ場所に保存されている chromedriver.exe
実行可能 先に抽出した.
browser = webdriver.Chrome()browser.get(( 'https://accounts.google.com/ServiceLogin? "service = mail&continue = https://mail.google" .com / mail /#identifier'))
私たちの要素を見つける
ブラウザでGmailを開くことができましたが、今は 入力フィールドを見つける Webページ上で ユーザー名とパスワードを入力してください.
内蔵のChromeデベロッパーツールを使って簡単にこれを行うことができます。入力フィールドを右クリックして、 “検査する” メニュー.
今それはただの問題です HTMLを使う id
属性 プログラム的に要素を見つける.
以下のコードでは、 ユーザー名入力フィールドを検索する id
, そして それを埋める 希望のテキストでそれで、私たちは 次へボタンを探す パスワードの入力を要求する前に、簡単なアニメーションで遷移します。.
の send_keys()
そして クリック()
コマンドは名前が示すとおりに動作します。 - send_keys()
キープレスをシミュレートする 目的の要素で クリック()
マウスクリックをシミュレートする.
#ユーザー名を入力して次のボタンを押すusername = browser.find_element_by_id( 'Email')username.send_keys(usernameStr)nextButton = browser.find_element_by_id( 'next')nextButton.click()
私たちはできる 同じことをする パスワード入力フィールド、およびサインインボタン用です。ただし、これら2つの項目はページに表示されます のみ 後に アニメーショントランジション.
とは言っても、私達にプログラムが必要です 数秒待つ 要素の検索を再開する前に。ほとんどの場合、この段階のコードは前の段階と変わりはありません。ブラウザに指示するだけです。 最大10秒待つ パスワードエントリを見つける前に.
#遷移を待ってからアイテムの入力を続けるpassword = WebDriverWait(browser、10).until(EC.presence_of_element_located((By.ID、 'Passwd')))password.send_keys(passwordStr)signInButton = browser.find_element_by_id( 'signIn' signInButton.click()
最後の言葉
あなたは終わったばかりです ボットを作成する Webページにアクセスし、ユーザー名とパスワードを入力して、サインインします。, 全プロセスの自動化 シングルクリックに。これは簡単なデモンストレーションだったことを私は知っていますが、可能性は無限大です.
その同じメモについて, 注意してください このスキルの使い方ボットや自動化されたスクリプトを使用して、何千回も懸賞に参加する人もいますが、契約条件を完全に無視しています。他の人はより悪意のある意図のためにそれらを使用します.
オートメーションは意図的かつ慎重に使用するようにしてください。 非常に必要なスキル プログラミングコミュニティで!
編集者注: これはHongkiat.comによって書かれた投稿です。 マリック・ブラヒミ. Malikは、Greater Boston地区に住む開発者で、食べ物、サッカー、そしてプログラミング(好きな言語のPython)が大好きです。.
- ソースをダウンロード