selenium python tutorial
このSeleniumPythonチュートリアルでは、さまざまなWebブラウザーでPythonプログラミング言語を使用してSeleniumテストスクリプトをコーディングおよび実行する方法を学びます。
過去5年間で、Python言語は、主にシンプルで習得しやすいという理由で、業界で指数関数的な成長を示してきました。 Seleniumは、最も広く使用されているオープンソースの自動化テストツールの1つです。
ここで、SeleniumとPythonの組み合わせを検討し、自動化フレームワークがどれほど堅牢になるか想像してみてください。
ルーターでネットワークキーを見つける方法
このチュートリアルでは、Pythonをインストールする方法、SeleniumライブラリをPythonにバインドする方法、PyCharmIDEをインストールして構成する方法を学習します。このチュートリアルの最後に、さまざまなWebブラウザーでPythonプログラミング言語を使用してSeleniumテストスクリプトをコーディングして実行できるようになります。
学習内容:
- Pythonのインストール
- PythonでSeleniumライブラリをインストールする
- PIPとは
- PythonIDEをダウンロードしてインストールする
- PyCharmでのセレンの構成
- PyCharmへのドライバーの追加
- SeleniumPythonを使用した最初のプログラム
- プログラムの実行
- SeleniumPythonに関するFAQ
- 結論
- 推奨読書
Pythonのインストール
Pythonのインストールはかなり簡単です。クリック ここに 最新バージョンをダウンロードします。それはあなたに.exeファイルを与えるでしょう。すべてのデフォルト設定でインストールします。
>>クリック ここに インストールプロセスの詳細については、こちらをご覧ください。
PythonでSeleniumライブラリをインストールする
Pythonをインストールすると、Seleniumライブラリはデフォルトではインストールされません。ただし、SeleniumライブラリがPythonにすでに存在するかどうかを確認するには、コマンドプロンプトを開いて、Pythonがインストールされているパスに移動し、「 ピップリスト 「。このコマンドは、Pythonで現在利用可能なすべてのライブラリを一覧表示します。
PIPとは
PIPはPreferredInstallerProgramの略です。これは、Pythonで記述されたソフトウェアパッケージをインストールするために使用される人気のあるパッケージマネージャーです。 PIPは、Pythonとともにデフォルトでインストールされます。必要なすべてのSeleniumライブラリをPythonでバインド/インストールするには、コマンドを実行する必要があります
pip installSelenium
コマンドを実行すると、Seleniumライブラリがダウンロードおよびインストールされます。
次に、を使用してSeleniumライブラリを確認します。 ピップリスト コマンド。
PythonIDEをダウンロードしてインストールする
スクリプトやプログラムを作成して実行するには、IDEが必要です。したがって、同じものの選択が非常に重要になります。 PyCharmは、特にPython言語で最も好まれるIDEの1つです。 PyCharmをダウンロードするには、 ここに 無料でオープンソースのコミュニティエディションをダウンロードしてください。
(画像 ソース )
それはあなたに.exeファイルを与えるでしょう。先に進み、すべてのデフォルト設定でインストールします。
PyCharmでのセレンの構成
インストールが成功したら、Windowsサーチに移動してPyCharmと入力すると、下の画像に示すようにPyCharmコミュニティエディションが表示されます。それをクリックしてPyCharmを開きます。
コードを書く前に、まずPyCharmでSeleniumライブラリを構成する必要があります。
PyCharmのプロジェクト用にSeleniumを設定する方法は2つあります。 これらは次のとおりです。
#1)PyCharmで利用可能なパッケージオプションを使用する。
初めてPyCharmを開くと、(新しいプロジェクトの作成)ウィンドウに移動します。
(新しいプロジェクトの作成)をクリックします。デフォルトでは、プロジェクトの名前は無題と見なされます。適切なプロジェクト名を入力します。 (作成)をクリックします。
注意: プロジェクトの場所を変更できます。
プロジェクトが正常に作成されます。 Seleniumライブラリが構成されているかどうかを確認するには、 ファイル->設定 。設定ページで プロジェクト–>プロジェクト通訳 。
パッケージの下に、Seleniumパッケージが表示されているはずです。それが欠落している場合は、「 + 右隅にある」ボタン。利用可能なパッケージの下で、Seleniumを検索し、(パッケージのインストール)をクリックします。次に、Seleniumパッケージがインストールされているかどうかを確認します。
#2)グローバルサイトパッケージオプションから継承を使用する
この方法はかなり簡単です。に移動 ファイル->新しいプロジェクト 。新しいプロジェクトを作成するときに、「 グローバルサイトパッケージを継承する 」チェックボックス。プロジェクトが作成されたら、に移動します ファイル->設定->プロジェクト->プロジェクトインタプリタ 、 すでにインストールされているSeleniumパッケージを確認できます。
PyCharmへのドライバーの追加
Webアプリケーションを自動化するには、Webブラウザーが必要であり、スクリプトを実行するブラウザーを指示するには、その特定のブラウザー用のドライバーが必要です。すべてのWebブラウザドライバが利用可能です ここに 。 Webページを開き、ブラウザに移動します。
クリック ドキュメンテーション 必要なブラウザについては、ドライバの安定バージョンを選択してください。
Chromeをダウンロードするには :Chromeのドキュメントに移動し、(ダウンロードで利用可能なすべてのバージョン)の下の(現在の安定版リリース)をクリックして、OSに適したzipファイルをダウンロードします。
例:「Chromedriver_win32.zip」 Windows用。
Firefoxをダウンロードするには: Firefoxのドキュメントに移動し、geckodriverのリリースをクリックして下にスクロールし、すべてのオペレーティングシステムのドライバーを見つけます。
例: Windows 64の場合は、 geckodriver-v0.26.0-win64.zip。
Microsoft Edgeをダウンロードするには: Edgeのドキュメントに移動します。これにより、(ダウンロード)の下のドライバーページが直接開きます。 例: x64 for Windows64ビットOS
SeleniumPythonを使用した最初のプログラム
これで、PyCharmはSeleniumコードを受け入れて実行する準備が整いました。整理するために、2つのディレクトリを作成します(ディレクトリはフォルダに似ています)。 1つのディレクトリを使用してすべてのテストスクリプトを配置し、それを「メイン」と呼び、もう1つのディレクトリを使用してすべてのWebブラウザのドライバを配置します。名前を「ドライバ」とします。
次の画像に示すように、プロジェクトを右クリックして新しいディレクトリを作成します。
メインディレクトリの下に新しいPythonファイルを作成します。これにより、.pyファイルが作成され、エディターが開きます。
抽出した.exeドライバーをコピーします。 ために 例、 Chromedriver.exe そして、ファイルをDriversディレクトリに貼り付けます。
これで、PythonでSeleniumWebdriverを使用して最初の自動化コードを作成する準備が整いました。
まず、以下の表で自動化によって達成されるステップを定義しましょう。
文字から文字列へc ++
ステップ | アクション | 期待される結果 |
---|---|---|
7 | ユーザー名とパスワードを入力してください | ユーザー名とパスワードを受け入れる必要があります |
1 | Chromeブラウザを開く | Chromeブラウザが正常に起動するはずです |
二 | www.google.comに移動します | Googleのウェブページを開く必要があります |
3 | ブラウザウィンドウを最大化する | ブラウザウィンドウを最大化する必要があります |
4 | GoogleのテキストフィールドにLinkedInのログインを入力します | 正しいテキストを入力する必要があります |
5 | エンターキーを押す | 検索ページは適切な結果で表示されます |
6 | LinkedInのログインURLをクリックします | LinkedInのログインページが表示されます |
8 | ログインボタンをクリックします | LinkedInのホームページを表示する必要があります |
9 | ページのタイトルを確認します | LinkedInがコンソールに表示されます |
10 | ページの現在のURLを確認します | https://www.linkedin.com/feed/がコンソールに表示されます |
十一 | ブラウザを閉じます | ブラウザウィンドウを閉じる必要があります |
上記のシナリオを実現するために、頻繁に使用されるSeleniumPythonコマンドのいくつかを使用します。
Selenium.Webdriver パッケージは、すべてのWebdriver実装を提供します。したがって、SeleniumからWebdriverをインポートするようにPythonに指示する必要があります。 Keysクラスを使用すると、ENTER、ALTなどのキーボードのキーを使用できます。
from selenium import Webdriver from selenium.webdriver.common.keys import Keys
#1)Chromeブラウザを開く
ブラウザを開くには、その特定のブラウザのインスタンスを作成する必要があります。この例では、Chrome Webdriverのインスタンスを作成し、Chromedriver.exeの場所についても言及しましょう。少し前に、すべてのブラウザードライバーをダウンロードして抽出し、PyCharmのドライバーディレクトリに配置しました。
を右クリックします Chromedriver.exe そして 絶対パスをコピーする 以下のようにWebdriverコマンドを貼り付けます。
driver = Webdriver.chrome('C:UsersAdminPyCharmProjectsSeleniumTestDriverschromedriver.exe')
#2)www.google.comに移動します
ザ・ driver.get メソッドは、URLで指定されたページに移動します。完全なURLを指定する必要があります。
driver.get('https://www.google.com/')
#3)ブラウザウィンドウを最大化する
driver.maximize_window ブラウザウィンドウを最大化します
driver.maximize_window()
#4)GoogleテキストフィールドにLinkedInログインを入力します
LinkedInログインを検索するには、最初にGoogle検索テキストボックスを特定する必要があります。 Seleniumは、ページ上の要素を見つけるためのさまざまな戦略を提供します。
>>参照 ここに SeleniumWebDriverロケーターの詳細については。
に) に移動します リンク
b) 検索テキストボックスを右クリックして、要素の検査を選択します。
c) 一意の値「q」を持つ名前フィールドがあります。だから私たちは使用します find_element_by_name 検索テキストボックスを識別するためのロケーター。
d)send_keys 関数を使用すると、任意のテキストを入力できます。 例: 「LinkedInログイン」
です) Pycharmに移動して 次のコマンドを入力します。
driver.find_element_by_name('q').send_keys('LinkedIn Login')
#5)エンターキーを押す
検索結果ページに移動するには、Google検索ボタンをクリックするか、キーボードのEnterキーを押す必要があります。この例では、コマンドを使用してEnterキーを押す方法について説明します。 Keys.Enter コマンドは、キーボードのEnterキーを押すのに役立ちます。
driver.find_element_by_name('q').send_keys(Keys.Enter )
#6)LinkedInのログインURLをクリックします
検索結果ページが表示されたら、LinkedInのログインリンクをクリックする必要があります。我々は使用するだろう find_element_by_partial_link_text これを達成するために。
driver.find_element_by_partial_link_text('LinkedIn Login').click()
#7)ユーザー名とパスワードを入力します
(ユーザー名)フィールドと(パスワード)フィールドはどちらも一意のID値を持ち、send_keysを使用してフィールドに入力します。
driver.find_element_by_id('username').send_keys('enter your username') driver.find_element_by_id('password').send_keys('enter your password”)
#8)ログインボタンをクリックします
サインインは、ページで使用できる唯一のボタンです。したがって、タグ名ロケーターを使用して識別できます。 find_element_by_tag_name。
driver.find_element_by_tag_name('button').click()
#9)ページのタイトルを確認する
driver.titleはページのタイトルをフェッチし、printコマンドはコンソールにWebページのタイトルを印刷します。必ず中括弧()を使用してください。
print(driver.title)
#10)ページの現在のURLを確認する
ザ・ driver.current_url ページのURLを取得します。 印刷 現在のURLをコンソールに出力します。
print(driver.current_url)
#11)ブラウザを閉じる
最後に、ブラウザウィンドウが閉じます driver.close 。
driver.close()
完全なテストスクリプトを以下に示します。
from selenium import webdriver from selenium.webdriver.common.keys import Keys Import time driver = webdriver.Chrome(r'C:UsersAdminPycharmProjectsSeleniumTestDriverschromedriver.exe') driver.get('https://www.google.com/') driver.maximize_window() driver.find_element_by_name('q').send_keys('LinkedIn login') driver.find_element_by_name('q').send_keys(Keys.ENTER) driver.find_element_by_partial_link_text('LinkedIn Login').click() driver.find_element_by_id('username').send_keys('enter your username') driver.find_element_by_id('password').send_keys('enter your password”) driver.find_element_by_tag_name('button').click() time.sleep(5) print(driver.title) print(driver.current_url) driver.close(
注意: #はその行にコメントするために使用されます。
time.sleep(sec)は、次の行の実行を遅らせるために使用されます。
プログラムの実行
プログラムを実行する方法は複数あります
#1)PyCharmIDEを使用して実行する
これは簡単です。コーディングが完了したら、エディターを右クリックして、「プログラム名」の実行またはCtrl + Shift + F10ショートカットキーを押すだけです。
実行後、結果は下のコンソールに表示されます。次に、サンプルコードを実行して、結果を確認します。
構文エラー–Unicodeエラー
コードを実行した後、 コンソールで次のエラーが発生します。
同じことを解決してみましょう。問題はChromeドライバーのパスにあります。 C: Users Admin PyCharmProjects SeleniumTest Drivers chromedriver.exe
U C: UsersではUnicode文字になるため、 UはUnicodeエスケープ文字に変換されるため、パスが無効になります。 これを解決するには2つの方法があります。
#A)バックスラッシュを追加する
driver = Webdriver.chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe')
#B)文字列の前にr:を付けます。
これにより、文字列が生の文字列として扱われるようになり、Unicode文字は考慮されません。
driver = Webdriver.chrome(r'C:UsersAdminPyCharmProjectsSeleniumTestDriversChromedriver.exe')
TypeError:モジュールオブジェクトを呼び出すことができません
コードをもう一度実行します。これで、コンソールに別のエラーが発生します。
理由はあなたが書くときです Webdriver 。示されている2つのオプションがあります chrome(Selenium Webdriver )および Chrome(Selenium.Webdriver.Chrome.Webdriver) 以下に示すように。
Chrome(Selenium.Webdriver.Chrome.Webdriver)を選択する必要があります。前者のオプションを選択すると、上のスクリーンショットでエラーが発生します。
では、もう一度スクリプトを実行してみましょう。今回は正常に実行され、Webページのタイトルと現在のURLがコンソールに出力されました。
注意: それでも問題が発生する場合。 次のコマンドを試してください。
driver = Webdriver.Chrome(executable_path= 'C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe')
#2)さまざまなブラウザでスクリプトを実行する:
他のブラウザで同じスクリプトを実行するには、上記のサンプルコードでChromeの代わりにその特定のブラウザのインスタンスを作成する必要があります。
Firefoxブラウザの例: 以下に示すように、ChromeをFirefoxに置き換えます。
driver = Webdriver.Firefox(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe')
Microsoft Edgeブラウザーの場合、以下に示すようにChromeをEdgeに置き換えます。
経験豊富なSeleniumJavaインタビューの質問と回答
driver = Webdriver.Edge(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\msedgedriver.exe')
#3)コマンドプロンプトでスクリプトを実行する:
コードを記述したディレクトリを右クリックします。 例: 「メイン」をクリックし、絶対パスをコピーします。コマンドプロンプトを開き、コマンド「cd」を使用してディレクトリをPythonディレクトリに変更し、右クリックします。ディレクトリが変更されたら、Pythonの「プログラム名」を入力します。
Python FirstTest.py
コードが実行され、結果がコマンドプロンプトに表示されます。
SeleniumPythonに関するFAQ
Q#1)Selenium Pythonは何に使用されますか?
回答: 多くのプログラマーが、テスト自動化のためにPythonでSeleniumを使い始めています。 以下に挙げる理由はいくつかあります。
- Webアプリケーションのテストでは、Seleniumはさまざまな機能を提供する最も広く使用されている自動化ツールです。これらの関数は、Webアプリケーションテストの要件を満たすように構築されています。
- Python言語は、構文の問題が少なく、単純なキーワードでコーディングできるため、非常に人気があります。
- Seleniumは、ブラウザーの設計に関係なく、Pythonの標準コマンドをさまざまなブラウザーに送信します。
- PythonとSeleniumのバインディングは、機能テストの作成に役立つさまざまなAPIを提供します。
- SeleniumとPythonはどちらもオープンソースです。そのため、誰でも簡単にダウンロードして、どのような環境でも使用できます。
Q#2)Selenium PythonでChromeを開くにはどうすればよいですか?
回答: Chromeドライバーをからダウンロードします ここに .exeファイルを抽出します。 Chrome Webdriverのインスタンスを作成するときに、.exeファイルのフルパスを指定します。
driver = Webdriver.Chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe')
Q#3)PythonでUnicodeエラーを修正するにはどうすればよいですか?
回答: これを解決するには2つの方法があります。
に) 余分な円記号を追加する必要があります
driver = Webdriver.Chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe')
b) 文字列の前にrを付けます。これにより、文字列が生の文字列として扱われるようになり、Unicode文字は考慮されなくなります。
driver = Webdriver.Chrome(r'C:UsersAdminPyCharmProjectsSeleniumTestDriversChromedriver.exe')
Q#4)Selenium PythonでFirefoxを実行するにはどうすればよいですか?
回答: Firefoxgeckodriverをからダウンロードします ここに .exeファイルを抽出します。のインスタンスを作成するときに、.exeファイルの絶対パスを指定します FirefoxWebdriver。
driver = Webdriver.Firefox(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe'). driver.get(“ https://www.google.com ”)
これにより、FirefoxブラウザでGoogleのWebページが開きます
Q#5)Python用のSeleniumを入手するにはどうすればよいですか?
回答: Pythonをインストールした後、コマンドプロンプトを開き、ディレクトリをPythonが存在するフォルダーに変更して、pip installSeleniumを実行します。これにより、最新のSeleniumライブラリがPythonに追加されます。
C: Users Admin AppData Local Programs Python Python38-32> pip installSelenium。
Seleniumライブラリは、PythonのLib site-packagesフォルダーにあります。
結論
このチュートリアルでは、SeleniumWebdriverとPython言語を使用してスクリプトの記述を開始するために必要な基本を学びました。 以下に、このチュートリアルの本質を示します。
- PythonとSeleniumは、プログラマーによって最も一般的に使用されていることが証明されています。したがって、同じために利用できるサポートドキュメントがたくさんあります。
- SeleniumライブラリとPythonのバインドは、単一のコマンドpip installSeleniumで実行できます。
- PyCharmは、特にPython言語で最も広く使用されているIDEです。コミュニティエディションは完全に無料で使用できます。さらに、機能テストの作成に役立つパッケージが多数用意されており、インストールは非常に簡単です。
- また、さまざまなブラウザードライバーをダウンロードし、それらをPyCharmのテストスクリプトに追加して、指定したブラウザーでアプリケーションをテストできるようにする方法も学びました。
- Webアプリケーションの機能を簡単に自動化できるさまざまなSeleniumコマンドを学びました。
- また、IDEとコマンドプロンプトでテストスクリプトを実行しました。
推奨読書
- 初心者のためのPythonチュートリアル(実践的な無料のPythonトレーニング)
- 初心者向けのSeleniumPythonチュートリアル
- Selenium WebDriverの概要– Seleniumチュートリアル#8
- 30以上の最高のSeleniumチュートリアル:実際の例でSeleniumを学ぶ
- 最初のWebDriverスクリプトの実装– Selenium WebDriverチュートリアル#10
- Cucumber Seleniumチュートリアル:Cucumber Java SeleniumWebDriverの統合
- 例を含むPythonDateTimeチュートリアル
- Python文字列関数