検索
ホームページバックエンド開発Python チュートリアルPython で Selenium WebDriver を使用する方法

    Selenium WebDriver 入門

    1. Selenium WebDriver とは

    WebDriver は、ユーザーをローカルに、または Selenium サーバーを使用してリモート マシン上で実行することで、ブラウザの自動化が飛躍的に進みます。

    Selenium WebDriver は、言語バインディングと各ブラウザー制御コードの実装を指します。これは、WebDriver と呼ばれることがよくあります。

    Selenium WebDriver は W3C 推奨です。

    • WebDriver は、シンプルかつ簡潔なプログラミング インターフェイスになるように設計されています。

    • WebDriver は、単純なオブジェクト指向 API です。

    • ブラウザを効果的に駆動します。

    2. Selenium WebDriver のインストール

    この記事で使用する環境は python3.11 win10 64 ビット Firefox ブラウザーであるため、この記事で使用するブラウザー ドライバーは Firefox の別のブラウザを使用している場合は、対応するブラウザ ドライバを選択するだけです。

    2.1 Selenium クラス ライブラリをインストールします

    最も簡単な方法は、pip を使用して直接インストールすることです

    pip install selenium

    Python で Selenium WebDriver を使用する方法

    2.2 ブラウザ ドライバーをインストールします

    Selenium は、WebDriver を通じて、Chrome、Firefox、Internet Explorer、Edge、Safari などの市場の主要なブラウザをすべてサポートします。WebDriver は、ブラウザの組み込み自動サポートを使用してブラウザを駆動しようとします。

    インターネットを除く以降エクスプローラー外のすべてのドライバー実装はブラウザー ベンダー自体によって提供されるため、これらのドライバーは標準の Selenium ディストリビューションには含まれていません。このセクションでは、さまざまなブラウザーを使用するための基本的な要件について説明します。

    開く次の URL https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/install_drivers/

    にブラウザ ドライバをダウンロードするリンクがあり、Selenium でサポートされている複数のブラウザ ドライバが表示されます。 , コンピューターにインストールされているブラウザーに対応するドライバーをダウンロードするだけです。この記事では Firefox を使用するため、Firefox ドライバーを選択してください。

    Python で Selenium WebDriver を使用する方法

    Firefox ドライバーのダウンロード リンクをクリックし、github のリリース ページに移動すると、各バージョンのドライバーが表示されます。この記事は win10 64 ビットであり、選択されたドライバーは1 つは geckodriver-v0. 32.0-win-aarch74.zip で、お使いのシステムに応じて対応するファイルを選択するだけです。

    Python で Selenium WebDriver を使用する方法

    解凍すると、次のような実行可能ファイルになります。

    Python で Selenium WebDriver を使用する方法

    2.3 環境変数の設定

    [マイ コンピューター] -> [プロパティ] -> [システムの詳細設定] -> [環境変数] を開き、パスをダブルクリックして、[新規] をクリックし、ドライバー geckodriver.exe が存在するディレクトリを入力して、[OK] を最後までクリックします。

    Python で Selenium WebDriver を使用する方法

    Python で Selenium WebDriver を使用する方法

    Python で Selenium WebDriver を使用する方法

    # 単純に確認し、新しいコンソールを開いてドライバー ファイル名を入力します。 geckodriver.exe を開くと、通常どおり開くことができます。

    Python で Selenium WebDriver を使用する方法

    もちろん、別の方法もあります。それは、Python ディレクトリ フォルダー内の Scripts ファイルにドライバーを直接入れることです。 Python スクリプトの実行時に直接開くこともできます。たとえば、私のディレクトリは D:\Python\Python311\Scripts

    3 です。最初の Selenium スクリプトを作成します

    Selenium のインストールとドライバーのインストールが完了したら、Selenium スクリプトの作成を開始できます。

    ##Selenium が行うことは、ブラウザにコマンドを送信して何らかのアクションを実行したり、情報を要求したりすることだけです。Selenium で行うことのほとんどは、次の基本コマンドの組み合わせです。

    1. ドライバー インスタンスを使用してセッションを開きます

     driver = webdriver.Firefox()

    2. ブラウザーで操作を実行します

    この例では、Web ページに移動します。

     driver.get("https://www.selenium.dev/selenium/web/web-form.html")

    3. ブラウザー情報を要求します

    ウィンドウ ハンドル、ブラウザのサイズ/場所、Cookie、アラートなど、ブラウザに関する一連の情報をリクエストできます。

     title = driver.title

    4. 待機戦略を作成します

    コードを同期に接続します。ブラウザーの現在の状態は、Selenium の最大の課題の 1 つであり、それを正しく行うことは高度なトピックです。基本的に、要素を配置する前に、要素がページ上にあることを確認する必要があります。要素を操作する前に、その要素がページ上にあることを確認してください。要素はインタラクティブです。暗黙的な待機が最善の解決策であることはほとんどありませんが、ここで説明するのが最も簡単です

     driver.implicitly_wait(0.5)

    5.发送命令 查找元素
    大多数Selenium会话中的主要命令都与元素相关, 如果不先找到元素, 就无法与之交互

     text_box = driver.find_element(by=By.NAME, value="my-text")
     submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")

    6.操作元素
    对于一个元素, 只有少数几个操作可以执行, 但您将经常使用它们

     text_box.send_keys("Selenium")
     submit_button.click()

    7.获取元素信息

     value = message.text

    8.结束会话
    这将结束驱动程序进程, 默认情况下, 该进程也会关闭浏览器. 无法向此驱动程序实例发送更多命令

     driver.quit()

    让我们将这8个部分组合成一个完整的脚本, 包括需要使用的库

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    def test_eight_components():
        driver = webdriver.Firefox()
    
        driver.get("https://www.selenium.dev/selenium/web/web-form.html")
    
        title = driver.title
        assert title == "Web form"
    
        driver.implicitly_wait(0.5)
    
        text_box = driver.find_element(by=By.NAME, value="my-text")
        submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
    
        text_box.send_keys("Selenium")
        submit_button.click()
    
        message = driver.find_element(by=By.ID, value="message")
        value = message.text
        assert value == "Received!"
    
        driver.quit()

    以上がPython で Selenium WebDriver を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明
    この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
    Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Apr 25, 2025 am 12:28 AM

    Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

    同じシステムで異なるPythonバージョンをどのように処理しますか?同じシステムで異なるPythonバージョンをどのように処理しますか?Apr 25, 2025 am 12:24 AM

    Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

    標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?Apr 25, 2025 am 12:21 AM

    numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、

    アレイの均質な性質はパフォーマンスにどのように影響しますか?アレイの均質な性質はパフォーマンスにどのように影響しますか?Apr 25, 2025 am 12:13 AM

    パフォーマンスに対する配列の均一性の影響は二重です。1)均一性により、コンパイラはメモリアクセスを最適化し、パフォーマンスを改善できます。 2)しかし、タイプの多様性を制限し、それが非効率につながる可能性があります。要するに、適切なデータ構造を選択することが重要です。

    実行可能なPythonスクリプトを作成するためのベストプラクティスは何ですか?実行可能なPythonスクリプトを作成するためのベストプラクティスは何ですか?Apr 25, 2025 am 12:11 AM

    craftexecutablepythonscripts、次のようになります

    numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?Apr 24, 2025 pm 03:53 PM

    numpyarraysarasarebetterfornumeroperations andmulti-dimensionaldata、whilethearraymoduleissuitable forbasic、1)numpyexcelsinperformance and forlargedatasentassandcomplexoperations.2)thearraymuremememory-effictientivearientfa

    Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Apr 24, 2025 pm 03:49 PM

    NumPyArraySareBetterforHeavyNumericalComputing、whilethearrayarayismoreSuitableformemory-constrainedprojectswithsimpledatatypes.1)numpyarraysofferarays andatiledance andpeperancedatasandatassandcomplexoperations.2)thearraymoduleisuleiseightweightandmemememe-ef

    CTypesモジュールは、Pythonの配列にどのように関連していますか?CTypesモジュールは、Pythonの配列にどのように関連していますか?Apr 24, 2025 pm 03:45 PM

    ctypesallowsinging andmanipulatingc-stylearraysinpython.1)usectypestointerfacewithclibrariesforperformance.2)createc-stylearraysfornumericalcomputations.3)passarraystocfunctions foreffientientoperations.how、how、becuutiousmorymanagemation、performanceo

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    PhpStorm Mac バージョン

    PhpStorm Mac バージョン

    最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

    AtomエディタMac版ダウンロード

    AtomエディタMac版ダウンロード

    最も人気のあるオープンソースエディター

    WebStorm Mac版

    WebStorm Mac版

    便利なJavaScript開発ツール

    SecLists

    SecLists

    SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

    EditPlus 中国語クラック版

    EditPlus 中国語クラック版

    サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません