商品ページ の AU $699.00 の部分を Selenium で取得したいと考えております。
The listing you're looking for has ended. に飛ばされる場合は、view original item をクリックしてください。
次のようなコードを書きました。
Python
1import chromedriver_binary 2from selenium import webdriver 3driver = webdriver.Chrome() 4url = "https://www.ebay.com/itm/Roland-MT-32-Sound-Module-/224200244704?_trksid=p2349526.m4383.l10137.c10&nordt=true&rt=nc&orig_cvip=true" 5driver.get(url) 6driver.find_element_by_class_name("notranslate vi-VR-cvipPrice").text
この class の要素であることは chrome developer tool を使って確かめました。
しかし、
Traceback (most recent call last): File "C:\Users\user\PycharmProjects\pythonProject\tmp.py", line 6, in <module> driver.find_element_by_class("notranslate vi-VR-cvipPrice").text AttributeError: 'WebDriver' object has no attribute 'find_element_by_class'
というエラーが発生します。
指定する class を "u-flL w29 vi-price-np" に変更しても同様です。
解決策をご教授ください。
更新:2021/01/21
申し訳ありません、上の現象は検索結果から遷移したページにおいて発生することが分かりました。
つまり、下記のようなコードです。こちらの場合はまだ解決できていないのですが、ご助言いただけないでしょうか。
import chromedriver_binary from selenium import webdriver url="https://www.ebay.com/sch/i.html?_from=R40&_nkw=Roland+MT-32&_sacat=0&_sop=16&_fcid=1&LH_Sold=1&LH_Complete=1&rt=nc&_udlo=10000" driver = webdriver.Chrome() driver.get(url) driver.find_element_by_class_name("s-item__link").click() if str(driver.current_url) == url: driver.find_element_by_class_name("s-item__link").click() ret = str(driver.find_element_by_class_name("u-flL w29 vi-price-np").text) driver.quit()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/21 07:51
2021/01/21 11:26
2021/01/21 11:36
2021/01/21 12:01
2021/01/21 12:35
2021/01/21 13:45