前提・実現したいこと
https://park.ajinomoto.co.jp/recipe/
上記のサイトをスクレイピングしています。
「料理区分を探す」のリンクとテキストを取得していたのですが、最後の「デザート」だけ取得できません。
それ以外は取得できています。
なぜか教えていただけないでしょうか?
発生している問題・エラーメッセージ
エラーメッセージ selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"a/span[@class="txt"]"}
該当のソースコード
python
1from selenium import webdriver 2from selenium.webdriver.common.keys import Keys 3import chromedriver_binary 4from selenium.webdriver.common.action_chains import ActionChains 5from selenium.webdriver.chrome.options import Options 6from time import sleep 7import csv 8import datetime 9import traceback #例外処理 10 11def login(): 12 # Instagramのログインページを指定 13 driver.get('https://park.ajinomoto.co.jp/recipe/') 14 sleep(1) 15 16 category = driver.find_elements_by_xpath('//*[@id="recipeIndex"]/section[2]/div/div[3]/ul/li') 17 if len(category) == 0: 18 print('拾えていない') 19 return 20 for cat_html in category: 21 try: 22 cat_a = cat_html.find_element_by_xpath('a').get_attribute('href') 23 cat_text = cat_html.find_element_by_xpath('a/span[@class="txt"]').text 24 except UnicodeDecodeError: 25 print('# traceback.format_exc()') 26 t = traceback.format_exc() 27 print('===エラーでている===') 28 print(t) 29 30 31 print(cat_a) 32 print(cat_text) 33 34 sleep(3) 35 # driver.find_element_by_xpath('//*[@id="recipeIndex"]/section[2]/div/div[3]/ul/li[1]').click() 36 37if __name__ == '__main__': 38 # Macの方用のChrome Driverのパスの設定 39 driver = webdriver.Chrome() 40 sleep(1) 41 # ログイン 42 login()
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
mac
google chrome
python 3.8.8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。