HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

PythonのSeleniumでHTMLソースコードを取得・確認する方法

Selenium WebDriverでHTMLソースコードにアクセスする

Selenium WebDriverを使用すると、開いているWebページのHTMLソースコードに簡単にアクセスできます。最も基本的な方法は、page_sourceメソッドを呼び出し、その戻り値をコンソールに出力することです。

構文

src = driver.page_source

また、SeleniumではJavaScriptのコマンドを実行してHTMLソースコードを取得することも可能です。execute_scriptメソッドを使用し、引数としてreturn document.body.innerHTMLというコマンドを渡します。

構文

h = driver.execute_script("return document.body.innerHTML;")

実装例①:page_sourceメソッドを使う場合

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://www.tutorialspoint.com/index.htm")
# page_sourceメソッドでHTMLソースコードを取得
s = driver.page_source
print(s)

実装例②:JavaScript Executorを使う場合

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://www.tutorialspoint.com/index.htm")
# JavaScriptコマンドでHTMLソースコードを取得
h = driver.execute_script("return document.body.innerHTML")
print(h)

page_sourceとinnerHTMLの違い

page_sourceは、ドライバーが認識しているページ全体のソース(<html>タグから始まる完全なHTML)を返します。一方、document.body.innerHTMLは<body>要素内のHTMLのみを返します。JavaScriptによって動的に書き換えられた後のDOMを取得したい場合にも、どちらの方法も有効です。

注意点:Selenium 4でのexecutable_path

Selenium 4以降では、webdriver.Chrome()executable_path引数は廃止されています。代わりにServiceオブジェクトを使用してください。

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path="C:\\chromedriver.exe")
driver = webdriver.Chrome(service=service)
  1. PythonコードでGoogle検索を自動化する方法|googlesearchモジュールの使い方

    はじめに この記事では、Pythonのコードを使ってGoogle検索を実行する方法を解説します。Pythonプロジェクトの開発中にWeb上のデータへアクセスしたり、Googleの検索結果をプログラム内で利用したりしたい場合に、この手法がとても便利です。 前提条件 システムにPythonがインストールされていること 「google」モジュールがインストールされていること(pipで以下のように導入できます) C:\Users\rajesh>python -m pip install google Collecting google Downloading https://files.p

  2. PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法

    はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c