【Python】seleniumを使用して、サイト内検索に自動で値を入力し、結果を表示する

■実装するプログラムの概要

pythonのseleniumを使用して「え〜のう」の「サイト内検索」に検索ワードを自動で入力し、検索結果を表示する。


▼実装イメージ

文字を入力する。

検索結果を表示する。

■フローチャート

■プログラムの仕様

インプット処理内容アウトプット
検索ワード検索ワードを入力し、変数にセットする。
Chromeを起動する。
サイトへアクセスする。
サイト内検索ボックスのnameをセットする。
入力した検索ワードをサイト内検索に出力する。検索ワード
検索を実行する。

■サイト内検索のnameを調べる

サイト内検索のテキストボックスに、値を入力する場合に使用する「find_element_by_name」「find_element(By.NAME, “<nameの値>”)」では、HTMLにおける、<input type=”text”> のnameを使用する必要がある。
対象のソースがわからない場合は、「F12」を押下し、検証モードにすると、どこのソースか特定することができる。

name=”s”であるため、ここでは”s”を使用する。

seleniumのバージョン4以降は、「find_element_by_name」から「find_element(By.NAME, “<nameの値>”)」に変更となったので更新

■サンプルコード

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


# 検索ワードを入力する
keyword = input("検索ワードを入力してください:")

# Windows用:chromedriverのパスを指定
# chrome = webdriver.Chrome("ここにパスを記載する")

# mac用
chrome = webdriver.Chrome()

# Chromeでサイトへアクセス
chrome.get('https://anotools.com')

# サイト内検索ボックスのnameをセット
# search_box = chrome.find_element_by_name("s")
# seleniumのバージョン4以降の場合、取得方法が変更となったので更新
search_box = chrome.find_element(By.NAME, "s")

# 入力した検索ワードをサイト内検索に出力
search_box.send_keys(keyword)

# 検索実行
search_box.send_keys(Keys.RETURN)

・補足事項1
Chromeを起動するには、Chromeドライバが必要となる。

・補足事項2
WindowsとmacでChromeの起動方法が異なる。
Windowsの場合、Chromeドライバ(exeファイル)を指定する必要がある。

■実行結果

ターミナル上で「python」を入力

自動でChromeが起動し検索処理を実行

検索結果ページへ遷移する。

コメント

タイトルとURLをコピーしました