文系生がデータ師になる17!


selenium



Selenium定義


これは、Webアプリケーションをテストするための移植可能なフレームワークです.セレンは、テストスクリプト言語を学習することなく、機能テストを作成するための再生ツールを提供します.(Seleum IDE)C Shape、groovy、Java、真珠、PHP、Python、Ruby、Scaraなど多くの有名なプログラミング言語は、テストを記述するためのテストドメイン専門化言語(Selenese)を提供しています.これらのテストは、現代のほとんどのWebブラウザで実行できます.セレンは、ウィンドウ、Linux、およびMacOSプラットフォーム上で復号される.apache 2.0ライセンスで配布されるオープンソースソフトウェア.[出典:ウィキペディア]

Seleniumのインストール

pip install selenium
conda install -y selenium
両方のコードでインストールすればいいです.
これからは必ずクロムドライバーを使います!インストールしてから実行できます.

セレン導入方法

import selenium
from selenium import webdriver
from selenium.webdriver import ActionChains

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait

Seleniumの読み込み


URLを変数に含めます.次のコードを入力します.
driver = webdriver.Chrome(executable_path='chromedriver')
driver.get(url=URL)

妙技

import time

time.sleep(초)
次のtime関数をインポートすることで、ファイルのロード時間を遅らせることができます.

使用理由


  • JavaScriptによって動的に作成されたデータをスクロールするには、

  • サイト内の様々なHTML要素をクリックし、キーボードなどのイベントを入力します.
    Seleniumを使用すると、通常のWeb上のタスクを自動的に実行できます.

  • 自動ログイン

  • メールの自動送信

  • ブログの隣の人は自動的にいいねをつけます

  • インスタグラムは自動的にコメントを書きやすいです

  • 待って本当にいろいろなことがあります
  • セレンの欠点


    ブラウザを直接実行して実際のユーザーの動作をシミュレートすることは、JavaScriptを使用して非同期または遅延ロードのコンテンツを取得できることを意味します.
  • ユーザーに提供されるビジュアルコンテンツはすべてスクロールできますが、コンピュータの仕様によって異なる場合があります.
  • ブラウザを直接開いて移動すると、リソースを大量に消費できます.
    =>Webスクロールの場合は、要求ライブラリとともに使用して速度の不足を補うことができます.
  • [ソース]Python Selenium-概要とメリットとデメリット|著者ナイティア

    警告ウィンドウを表示するときに無視されるコード

    from selenium.webdriver.common.alert import Alert
    
    Alert(driver).accept()    #경고창 수락 누름
    Alert(driver).dismiss()   #경고창 거절 누름
    print(Alert(driver).text  # 경고창 텍스트 얻음
    詳細については、ここを参照してください.