//AdSenseにリンク

Googleを開き、検索し、最初のリンクをクリック、表示後にブラウザを閉じる、Selenium、Python

このスクリプトは、Googleを開き、「Selenium」と検索し、検索結果が表示された後にブラウザを閉じます。

下記のページの設定後に作業ができます。

Seleniumのインストール

pip install selenium

以下のスクリプトを作成し、例えばtest_selenium.pyというファイル名で保存します。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# ChromeDriverのパスを指定
driver_path = r'/usr/local/bin/chromedriver'
service = Service(driver_path)

# WebDriverの起動
driver = webdriver.Chrome(service=service)

# WebDriverWaitのインスタンスを作成
wait = WebDriverWait(driver, 10)

# Googleを開く
driver.get('https://www.google.com')

try:
    # 検索ボックスに入力し、検索を実行
    search_box = wait.until(EC.presence_of_element_located((By.NAME, 'q')))
    search_box.send_keys('Selenium')
    search_box.send_keys(Keys.RETURN)

    # 検索結果の最初のリンクをクリック (例)
    first_result = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'h3')))
    first_result.click()

except NoSuchElementException as e:
    print("検索結果が見つかりませんでした:", e)
except TimeoutException as e:
    print("要素が見つかるまで待機時間が経過しました:", e)
except Exception as e:
    print("予期しないエラーが発生しました:", e)
finally:
    # ブラウザを閉じる
    driver.quit()

開きっぱなしにしたいときは、下記で(pythonのコードは、動いているままなので注意)

while True:
    try:
        # キー入力を待つ (例: 10秒ごとに確認)
        time.sleep(10)
    except KeyboardInterrupt:
        print("Ctrl+Cが押されました。ブラウザを閉じます。")
        break

# ブラウザを閉じる
driver.quit()

ターミナルで以下のコマンドを実行してスクリプトを実行します。

python3 test_selenium.py

webtest2