下記のようなDOMで、ページ内に複数存在する「もっと見る」ボタンを全てクリックして、
項目を表示したいと考えております。
<div class="__shi_h_fl_r"> <a class="__shi_m_btn_more __shi_m_btn_more_override" data-more-override="trigger" data-log="search_result_list_base_more"> <span>もっと学部・学科・コースを見る</span> </a> </div>
下記のようなcodeを検討してみましたが、ボタン自体が消えるわけではないため、
同じ箇所でクリックして開く・閉じるの動作を延々と繰り返してしまいます。
while True: try: elem = driver.find_element_by_class_name('__shi_m_btn_more') elem.click() except NoSuchElementException: break
ご助言いただいたfor文で対応できそうだと思い試してみました。
# 下記で最初の当該要素をclickできることが確認できました。 elem=driver.find_element_by_class_name('__shi_m_btn_more') elem.click() # #ページ内には4つの当該要素があります。 elems = driver.find_elements_by_class_name('__shi_m_btn_more') len(elems) 4 #ページ内に存在する4つの要素をclickしたい for elem in elems: elem.click() # エラー発生 ElementClickInterceptedException: Message: element click intercepted: Element <a class="__shi_m_btn_more __shi_m_btn_more_override" data-more-override="trigger" data-log="search_result_list_base_more">...</a> is not clickable at point (600, 696). Other element would receive the click: <h3 class="__shi_m_heading_second">...</h3> (Session info: chrome=78.0.3904.97)
解決方法についてご助言をいただけましたら幸甚です。
何卒よろしくお願い申し上げます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。