実現したいこと
以下の競艇のHPから、特定の艇番のimgファイル名をもとに該当する艇番のスタートタイムを取得する
https://www.boatrace-fukuoka.com/modules/yosou/
前提
競艇のHPから各艇のスタートタイム等を取得するプログラムを作成しています。
1~6号艇が全て順番通りのコースでスタートするわけではないため、各艇のimgファイル名(緑色の6号艇なら"boart6"がimgファイル名に含まれる)をもとにその艇のスタートタイムを取得したいです。
以下の流れで対象の艇のスタートタイム取得を考えています。(例:3日目1Rの直前情報から緑色の6号艇のスタート展示のスタートタイムを取得する場合)
6号艇の画像("boart6"がimgファイル名に含まれる)を見つける→その要素のcssセレクタを取得→取得したcssセレクタの一部を修正すればその艇のスタートタイムのcssセレクタになるので、それを利用してスタートタイムを取得
そのために対象の艇の画像を表示している要素のcssセレクタを取得しようとしても上手く取得できません。
発生している問題・エラーメッセージ
None
該当のソースコード
python
1from selenium import webdriver 2from selenium.webdriver.common.by import By 3from selenium.webdriver.chrome.service import Service as ChromeService 4from webdriver_manager.chrome import ChromeDriverManager 5from selenium.webdriver.support.ui import WebDriverWait 6from selenium.webdriver.support import expected_conditions as EC 7 8driver_22 = webdriver.Chrome(service=ChromeService(ChromeDriverManager("114.0.5735.90").install())) 9url_22 ='https://www.boatrace-fukuoka.com/modules/yosou/' 10driver_22.get(url_22) 11 12#レース日を選択 13race_date_22 = f"#yosou_block > div.tab_nthday > ul > li:nth-child(3)" 14race_date_select_22 = driver_22.find_element(By.CSS_SELECTOR, race_date_22) 15race_date_select_22.click() 16 17#レースNoを選択 18race_no_22 = f"#yosou_block > div.tab_race > ul > li:nth-child(1)" 19race_select_22 = driver_22.find_element(By.CSS_SELECTOR, race_no_22) 20race_select_22.click() 21 22tyokuzenzyouhou_22 = "#yosou_block > div.yosou_block_inner > div.tab_type > ul > li:nth-child(2)" 23tyokuzenzyouhou_select_22 = driver_22.find_element(By.CSS_SELECTOR, tyokuzenzyouhou_22) 24tyokuzenzyouhou_select_22.click() 25 26#直前情報のタブを表示 27WebDriverWait(driver_22, 15).until(EC.presence_of_all_elements_located) 28iframe = driver_22.find_element(By.CSS_SELECTOR, "#yosou_block > div.yosou_block_inner > div.yosou_contents > iframe") 29driver_22.switch_to.frame(iframe) 30 31#↓この部分の記載について問題点をご教示いただきたいです 32element = driver_22.find_element(By.CSS_SELECTOR, '[src*=boart6]').get_attribute('css_selector') 33print(element)
試したこと
cssセレクタの取得方法について調べた結果、上記のコードに辿り着いたのですがcssセレクタを取得できずに困っています。
(スタートタイムを取得するために他にもっと楽な方法がありましたらご提案いただけると幸いです)
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー