実現したいこと
pythonを使って自動予約機能を持つコードを書きたい
発生している問題・分からないこと
練習として一般的なサイトを使い一番最短の◯がついている日を押してほしいのですが
次の1ヶ月をどうしても押してくれません。何が間違っているのかわかりませんので教えていただけたら嬉しいです。。
該当のソースコード
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from webdriver_manager.chrome import ChromeDriverManager import time # WebDriverの設定 options = webdriver.ChromeOptions() options.add_argument("--no-sandbox") options.add_argument("--disable-dev-shm-usage") # WebDriverのインストール(自動でドライバを取得) service = Service(ChromeDriverManager().install()) # WebDriverを起動 driver = webdriver.Chrome(service=service, options=options) # ウェブサイトにアクセス driver.get('https://hotel.travel.rakuten.co.jp/hotelinfo/plan/16654') # 空室カレンダーのリンクをクリック try: # 空室カレンダーのリンクを待つ calendar_link = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.CSS_SELECTOR, 'a.thickbox')) ) calendar_link.click() # 空室カレンダーが表示されるまで待つ WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CSS_SELECTOR, '.calendar-date.today')) ) # 「次の1ヶ月」リンクをテキストでクリック next_month_link = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.LINK_TEXT, "次の1ヶ月")) ) next_month_link.click() print("「次の1ヶ月」をクリックしました。") except Exception as e: print(f"エラーが発生しました: {e}") # 少し待ってからブラウザを閉じる time.sleep(5) # ブラウザを閉じる driver.quit()
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
クリックの押し方を検索しても出て来なかった
補足
特になし
回答1件
あなたの回答
tips
プレビュー