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
ディスカッション
コメント一覧
まだ、コメントがありません