1.セレン原理
1.1セレンはじめに
セレンは、Webアプリケーションのための自動化フレームワークです。
人間がブラウザでWebインタフェースを操作するようにそれを通じて、我々は、自動プログラムを書くことができます。、ボタンなどのインターフェイスをクリックし、テキストボックスや他の操作でテキストを入力します。
しかし、また、Webインターフェイスから情報を取得します。12306チケット情報など求人サイトジョブ、金融ウェブサイトの株価情報へのアクセス、および、その後の分析およびプロセスなどのアプリケーション。
セレンオートメーション原理はこれです:
1.2セレンクライアントライブラリ
私たちは、オートメーションプログラムがクライアントライブラリを使用する必要があるの書き込み。
私たちの手順が自動化されている要求は、プログラミング・インターフェース内のライブラリを経由してブラウザに送信されます。
例えば、我々は、ユーザーがボタンインターフェースをクリックシミュレートしたい、それが適切なクライアントライブラリを呼び出す必要がありFunctionプロシージャを自動化し、要素をクリックすると、ドライブの下部を要求元のブラウザに送信されます。次に、ブラウザとはブラウザに転送要求を駆動します。
この自動化されたプログラムは、ブラウザ駆動型の要求に送信するHTTPリクエストです。
クライアントライブラリから来ますか?セレンは、組織が提供しています。
簡単に異なるプログラミング言語を使用する開発者を可能にセレン組織の提供するJavaやPython、JS、ルビー、などを含むセレンクライアントライブラリのさまざまなプログラミング言語を、。
私たちは、ブラウザの自動化戦略にリクエストを送信することができ、ライブラリを呼び出し、クライアントライブラリをインストールする必要があります。
1.3ブラウザのドライバ
ブラウザのドライブはブラウザベンダーが提供するスタンドアロンのプログラム、である、異なるブラウザは異なるブラウザ・ドライブが必要です。たとえば、ChromeとFirefoxのブラウザは、異なるドライバを持っています。
操作要求が私達の自動化されたプログラムを送っインタフェースブラウザがドライブを受けた後、ブラウザが対応する自動化を実行するので、それは、ブラウザに要求を転送します。
操作を実行し、ブラウザの後、結果は、ドライバーがブラウザに返さブラウザを自動化され、その後、私たちのクライアントライブラリのオートメーションプログラムに返されたHTTP応答メッセージを介して駆動します。
応答を受信したクライアントライブラリの自動化プログラムの後、変換の結果は、我々のコードデータオブジェクトに戻りました。
私たちのプログラムは、自動操作の方法の結果を知ることができます。
1.4概要
- オートメーションプログラムは、(そのようなボタン要素をクリックするなど)セレンクライアントライブラリ関数を呼び出します。
- セレンクライアントライブラリブラウザにドライバにコマンドを送信します。
- ブラウザは、ドライバにコマンドを受信した後、ドライバブラウザコマンドを実行します。
- ブラウザは、コマンドを実行します。
- ブラウザのドライバは、コマンドの実行結果を取得し、当社の自動化プログラムに戻ります。
- 結果を返すように自動化された処理プログラム。
セレン環境をインストールします。2.
セレンの主要な設置環境には、二つのものをインストールすることです:クライアントライブラリとブラウザを駆動します。
クライアントライブラリのインストール2.1
異なるプログラミング言語は異なるセレンクライアントライブラリを選択します。
私たちは、Python言語に対応し、セレンクライアントライブラリのインストールは非常に簡単です、あなたはピップのコマンドを使用することができます。
コマンドラインプログラムを開き、次のコマンドを実行します。
ピップセレンをインストール
2.2ドライバは、ブラウザをインストールされています
ブラウザとブラウザが対応して駆動されます。異なるブラウザは、駆動別のブラウザを選択する必要があります。
現在主流のブラウザでは、セレンの自動化のためのChromeブラウザのサポートは、より成熟しています。
私たちは、例えば、Chromeブラウザに持っています。
Chromeブラウザの最新バージョンをインストールし、ダウンロードするにはここをクリック
ドライバのダウンロードページにアクセスするには、Chromeブラウザ、ダウンロードするにはここをクリック
ブラウザを駆動する必要があり、ブラウザのバージョン、ブラウザ内部赤丸下、一致およびバージョン番号は、対応するバージョン番号であることに留意されたいです。
たとえば:Google Chromeの78の現在のバージョンでは、ドライバーディレクトリ78先頭をダウンロードする必要があります。
ディレクトリを開き、3つのzipパッケージには、Linux、Macの、Windowsプラットフォームに対応し、そこにあります。
我々は、Windowsプラットフォームのコンピュータであれば、chromedriver_win32.zipをダウンロード
これは、ダウンロード後、zipパッケージで、これはディレクトリと中国の名前空間への最適なパスではないことに注意してください、以下のディレクトリにプログラムchromedriver.exe内のファイルを抽出します。
例えば、Eに解凍:\ webdriversディレクトリを。
それが私たちのChromeブラウザのパスがEを駆動することを保証するために、次のとおりです。\ webdrivers \ chromedriver.exe
これらを構築するためのWebベースのセレンオートメーション環境は比較的簡単です。
使用する3.シンプル
3.1ブラウザを開いて、指定されたサイトを入力してください
from selenium import webdriver # 创建 WebDriver 对象,指明使用chrome浏览器驱动 wd = webdriver.Chrome(r'E:\webdrivers\chromedriver.exe') # 调用WebDriver 对象的get方法 可以让浏览器打开指定网址 wd.get('https://www.baidu.com')
注意,等号右边返回的是WebDriver类型的对象,我们可以通过这个对象来操控浏览器,比如打开网址、选择界面元素等。
而下面这行代码,就是使用WebDriver的get方法打开网址百度
wd.get('https://www.baidu.com')
执行上面这行代码时,自动化程序就发起了打开百度网址的请求消息,通过浏览器驱动,给Chrome浏览器。
Chome浏览器接收到该请求后,就会打开百度网址,通过浏览器驱动,告诉自动化程序打开成功。
3.2 关闭浏览器
执行完自动化代码,如果想关闭浏览器窗口可以调用WebDriver对象的 quit 方法,像这样 wd.quit() 。
3.3 浏览器驱动目录加入环境变量Path
前面,我们的代码创建 WebDriver对象时,需要指定浏览器驱动路径,比如
WD = webdriver.Chrome(R ' E:\ webdrivers \ chromedriver.exe')
私たちは、ディレクトリブラウザドライバ環境変数PATH、書き込みコードに参加した場合、あなたはこのように、パスを駆動することなく、ブラウザを指定することができます。
WD = webdriver.Chrome()
ので、これらのディレクトリはどこchromedriver.exeという名前のファイルを検索する場所を指定するには、自動的にセレンPath環境変数です。
環境変数のパスを追加し、それに注意を払う必要があり、そのようなEなどいないブラウザのフルドライブパス、:\ webdrivers \ chromedriver.exe
代わりに、ブラウザのドライブのディレクトリ、例えばE用:\ webdrivers \