Seleniumの使い方を詳しく解説
Selenium の使い方の詳しい説明
*Selenium は主に自動テストに使用され、複数のブラウザをサポートしています。主に JavaScript レンダリングの問題を解決するためにクローラーで使用されます。
リクエストと urllib が Web ページのコンテンツを正常に取得できない場合、ブラウザをシミュレートします
注: 1. Python ファイル名またはパッケージ名に selenium という名前を付けないでください。 from selenium import webdriver
browser = webdriver.Chrome()
単一要素
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.taobao.com') print(browser.page_source) # browser.page_source是获取网页的全部htmlbrowser.close()
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.taobao.com') input_first = browser.find_element_by_id('q') input_second = browser.find_element_by_css_selector('#q') input_third = browser.find_element_by_xpath('//*[@id="q"]') print(input_first,input_second,input_third) browser.close()
find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name find_element_by_class_name find_element_by_css_selector
複数の要素、複数の要素を使用することもできます
from selenium import webdriverfrom selenium.webdriver.common.by import By browser = webdriver.Chrome() browser.get('https://www.taobao.com') input_first = browser.find_element(BY.ID,'q')#第一个参数传入名称,第二个传入具体的参数print(input_first) browser.close()
input_first = browser.find_elements_by_id('q')
その他の操作: http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.remote.webelement#属性、スクリーンショットを含めることができます、など
5. インタラクションアクション、ブラウザーを操作してアクションを実行し、ドラッグアンドドロップアクションをシミュレートし、シリアル実行のためにアクションチェーンにアクションをアタッチします
from selenium import webdriver import timebrowser = webdriver.Chrome() browser.get('https://www.taobao.com') input = browser.find_element_by_id('q')#找到搜索框input.send_keys('iPhone')#传送入关键词time.sleep(5) input.clear()#清空搜索框input.send_keys('男士内裤') button = browser.find_element_by_class_name('btn-search')#找到搜索按钮button.click()
その他の操作: http://selenium-python. readthedocs.io/api.html#module-selenium .webdriver.common.action_chains
6. JavaScript を実行します
進行状況バーのドロップダウンなど、一部のアクションは API を提供していない場合があります。コードfrom selenium import webdriverfrom selenium.webdriver import ActionChains#引入动作链browser = webdriver.Chrome() url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url) browser.switch_to.frame('iframeResult')#切换到iframeResult框架source = browser.find_element_by_css_selector('#draggable')#找到被拖拽对象target = browser.find_element_by_css_selector('#droppable')#找到目标actions = ActionChains(browser)#声明actions对象actions.drag_and_drop(source, target) actions.perform()#执行动作
属性を取得from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.zhihu.com/explore')
browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
browser.execute_script('alert("To Bottom")')
from selenium import webdriverfrom selenium.webdriver import ActionChains browser = webdriver.Chrome() url = 'https://www.zhihu.com/explore'browser.get(url) logo = browser.find_element_by_id('zh-top-link-logo')#获取网站logoprint(logo) print(logo.get_attribute('class')) browser.close()
from selenium import webdriver browser = webdriver.Chrome() url = 'https://www.zhihu.com/explore'browser.get(url) input = browser.find_element_by_class_name('zu-top-add-question') print(input.text)#input.text文本值browser.close()
8. フレーム操作
フレームは独立したWebページに相当します. 親カテゴリのネットワーク フレームでサブカテゴリを検索する場合は、サブカテゴリのフレームに切り替える必要があります。親クラスを見つけたい場合は、サブクラスも最初に切り替える必要があります
待機中
。暗黙的待機を使用してテストを実行すると、WebDriver が DOM 内で要素を見つけられなかった場合、設定された時間を超えると要素が見つからないという例外がスローされます。要素が検索されるか、要素がすぐに表示されない場合、暗黙的な待機は DOM を検索する前に一定時間待機します。
待機条件と最大待機時間を指定します。プログラムは待機時間内に条件が満たされるかどうかを判断し、満たされない場合は待機を続けますfrom selenium import webdriver
browser = webdriver.Chrome()
url = 'https://www.zhihu.com/explore'browser.get(url)
input = browser.find_element_by_class_name('zu-top-add-question')
print(input.id)#获取idprint(input.location)#获取位置print(input.tag_name)#获取标签名print(input.size)#获取大小browser.close()
11. 進むと戻る - 異なる Web ページを閲覧するためのブラウザーの進むと戻るを実現します
from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementException browser = webdriver.Chrome() url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url) browser.switch_to.frame('iframeResult') source = browser.find_element_by_css_selector('#draggable') print(source)try: logo = browser.find_element_by_class_name('logo')except NoSuchElementException: print('NO LOGO') browser.switch_to.parent_frame() logo = browser.find_element_by_class_name('logo') print(logo) print(logo.text)
12. Cookies
from selenium import webdriver browser = webdriver.Chrome() browser.implicitly_wait(10)#等待十秒加载不出来就会抛出异常,10秒内加载出来正常返回browser.get('https://www.zhihu.com/explore') input = browser.find_element_by_class_name('zu-top-add-question') print(input)
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC
browser = webdriver.Chrome()
browser.get('https://www.taobao.com/')wait = WebDriverWait(browser, 10)
input = wait.until(EC.presence_of_element_located((By.ID, 'q')))
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.btn-search')))
print(input, button)
関連する推奨事項:
CSS3を介して2D変換を実行する方法
JavaScriptの変数とスコープの詳細な説明
以上がSeleniumの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PyCharm インストール チュートリアル: Selenium のインストール方法を簡単に学習します。特定のコード サンプルが必要です。Python 開発者として、プロジェクト開発を完了するためにさまざまなサードパーティ ライブラリやツールを使用する必要があることがよくあります。その中でも、Selenium は、Web アプリケーションの自動テストや UI テストに非常によく使用されるライブラリです。 PyCharm は、Python 開発用の統合開発環境 (IDE) として、Python コードを開発するための便利で迅速な方法を提供します。

Laravel 開発: ブラウザーのテストに LaravelDusk と Selenium を使用する方法は? Web アプリケーションがより複雑になるにつれて、そのすべての部分が適切に機能することを確認する必要があります。ブラウザ テストは、さまざまなブラウザ下でアプリケーションの正確性と安定性を確認するために使用される一般的なテスト方法です。 Laravel 開発では、ブラウザのテストに LaravelDusk と Selenium を使用できます。この記事では、これら 2 つのツールを使用してテストする方法を紹介します。

Scrapy クローラーでの Selenium と PhantomJS の使用 Scrapy は、Python 上の優れた Web クローラー フレームワークであり、さまざまな分野のデータ収集と処理に広く使用されています。クローラーの実装では、特定の Web サイトが提供するコンテンツを取得するためにブラウザーの操作をシミュレートする必要がある場合があり、この場合には Selenium と PhantomJS が必要になります。 Selenium はブラウザ上で人間の操作をシミュレートし、Web アプリケーションのテストを自動化します。

Web オートメーション テストに Selenium を使用する方法の概要: Web オートメーション テストは、最新のソフトウェア開発プロセスの重要な部分です。 Selenium は、Web ブラウザーでのユーザー操作をシミュレートし、自動テスト プロセスを実装できる強力な自動テスト ツールです。この記事では、Web 自動化テストに Selenium を使用する方法を紹介し、読者がすぐに開始できるようにコード例も示します。環境の準備 開始する前に、Selenium ライブラリと Web ブラウザ ドライバーをインストールする必要があります

1. スライダー検証の考え方 テスト対象オブジェクトのスライダーオブジェクトはこんな感じです。比較的単純な形式で、左側のパズルを下のスライダーでドラッグし、右側の空いているスロットに埋め込むだけで検証が完了します。この検証プロセスを自動化するには、スライダーのスライド距離を決定することが重要なポイントです。上記の分析によれば、検証の重要なポイントは、スライダの摺動距離を決定することである。しかし、一見単純な要件を完了するのは簡単ではありません。自然なロジックを使用してこのプロセスを分析すると、次のように分解できます: 1. 左側のパズルの位置を見つけます。パズルの形とサイズは固定されているため、パズルの左端を見つけるだけで済みます。背景画像の左端。 (実際には、この例では、パズルの開始位置も固定されており、

インターネット技術の急速な発展に伴い、Web アプリケーションは私たちの日常の仕事や生活でますます使用されるようになりました。 Web アプリケーション開発のプロセスにおいて、Web ページ データのクロールは非常に重要なタスクです。市場には多くの Web スクレイピング ツールがありますが、これらのツールはあまり効率的ではありません。 Web ページデータのクローリングの効率を向上させるために、PHP と Selenium を組み合わせて使用できます。まず、PHP と Selenium とは何かを理解する必要があります。 PHPは強力です

pycharm に Selenium をインストールする手順: 1. PyCharm を開きます; 2. メニュー バーで [ファイル]、[設定]、[プロジェクト: [プロジェクト名]] を選択します; 3. プロジェクト インタープリターを選択します; 4. 右側の をクリックします。タブ「+」; 5. ポップアップ ウィンドウで Selenium を検索します; 6. Selenium を見つけて、その横にある [インストール] ボタンをクリックします; 7. インストールが完了するまで待ちます; 8. 設定ダイアログ ボックスを閉じます。

1. Selenium とは Web クローラーは、Web ページ上のデータを自動的に取得できる、Python プログラミングの非常に便利な技術です。 Selenium は、ボタンのクリックやフォームへの入力など、ブラウザーでのユーザー操作をシミュレートできる自動テスト ツールです。 BeautifulSoup やリクエストなどの一般的に使用されるクローラー ライブラリとは異なり、Selenium は JavaScript によって動的に読み込まれるコンテンツを処理できるため、ユーザー インタラクションをシミュレートして取得する必要があるデータには非常に適しています。 2. Selenium のインストール Selenium を使用するには、まず Selenium をインストールする必要があります。 pipコマンドを使用してインストールできます
