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
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 ドライバーを選択してください。
Firefox ドライバーのダウンロード リンクをクリックし、github のリリース ページに移動すると、各バージョンのドライバーが表示されます。この記事は win10 64 ビットであり、選択されたドライバーは1 つは geckodriver-v0. 32.0-win-aarch74.zip で、お使いのシステムに応じて対応するファイルを選択するだけです。
解凍すると、次のような実行可能ファイルになります。
2.3 環境変数の設定
[マイ コンピューター] -> [プロパティ] -> [システムの詳細設定] -> [環境変数] を開き、パスをダブルクリックして、[新規] をクリックし、ドライバー geckodriver.exe が存在するディレクトリを入力して、[OK] を最後までクリックします。
##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 サイトの他の関連記事を参照してください。

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

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

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

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

craftexecutablepythonscripts、次のようになります

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

WebStorm Mac版
便利なJavaScript開発ツール

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

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

ホットトピック









