前提・実現したいこと
pythonとseleniumを用いてスクレイピングを行っています。petit_standardというアイテムの商品一覧画面から、
1番目の商品のリンクをクリック→戻る→
2番目の商品のリンクをクリック→戻る→
・
・
・
n番目の商品をクリック→戻る
という繰り返し処理を行いたいのですが、以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
1番目の商品リンクをクリック→戻る
まではうまくいくのですが、2番目の商品リンクをクリックする前にエラーが表示されます
StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
該当のソースコード
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.mercari.com/jp/search/?keyword=petit_standard")
posts = driver.find_elements_by_css_selector(".items-box")
while True:
for post in posts:
title = post.find_element_by_css_selector("h3.items-box-name ")
title.click()
driver.back()
python
試したこと
繰り返し処理を行う前に待機する必要があると考え、driver.back()の下に以下のような文章を追加しましたが、タイムアウトとなってしまいます。
解決方法の分かる方がおられましたら、ご教授お願いいたします。
WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.CSS_SELECTOR, "items-box-name")))
補足情報(FW/ツールのバージョンなど)
python,seleniumは最新のバージョンを利用しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。