前提・実現したいこと
seleniumを使い、ページングのある一覧から各店舗のメニュー情報を取得したい
発生している問題・エラーメッセージ
css selectorで指定している値が間違っているせい(おそらく)で各店舗の
「関連する施術メニューをもっと見る」部分のURLが取得できない。
###該当のソースコード
以下のソースコードの
elems = browser.find_elements_by_css_selector(".l-clinic-cassette clinic__buttons c-button")
の部分で記述したcss selectorが間違っており値が取得できないと思っています。
(エラーはでず、ずっと動いた状態になる)
↓↓↓
from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.common.exceptions import NoSuchElementException import pandas as pd from time import sleep options = Options() options.add_argument('--headless') browser = webdriver.Chrome(path) pageURL = 'https://clinic.beauty.hotpepper.jp/TB023/prefecture13/' browser.get(pageURL) sleep(3) elem_urls=[] # [関連する施術メニューをもっと見る]ボタンのURL取得 while True: elems = browser.find_elements_by_css_selector(".l-clinic-cassette clinic__buttons c-button") for elem in elems: elem_urls.append(elem.get_attribute("href")) # ページング try: next_button = browser.find_element_by_class_name('c-pagination__page-link') next_button.click() sleep(3) except Exception: #browser.quit() break print('ページ数:', len(elem_urls))
補足情報(FW/ツールのバージョンなど)
jupyter lab