seleniumを利用して
該当ページのランキングから商品と価格を抽出したいのですが、
ページ遷移がうまくできず困っております。
ページを移動する際に「▷」ボタンをクリックして
最終ページで「▷」ボタンが無くなったら停止させたい
と思ってます。
find_elementにより
該当要素「▷」を「xpath」で指定し、
クリック処理しているつもりがうまくいかず。。
以下のようなQA等を参考にしているものの
やはりページ遷移ができずでして、困っています。
①https://teratail.com/questions/226191
②https://qiita.com/ssh-22/items/5289aa0861f7623021d7
ご知見ある方から
アドバイスやご指摘をいただけると幸いです。
抽出対象ページにある該当箇所「▷」のコード
<a href="javascript:void(0)"> <span value="2"> <i aria-hidden="false"> <svg class="st2-icon-right-arrow"> <use xlink:href="#st2-icon-right-arrow"></use> </svg> </i> </span></a>
作成しているコード
from selenium import webdriver from selenium.common.exceptions import NoSuchElementException browser = webdriver.Chrome() URL = 'https://yado.knt.co.jp/yadolist/?use_kbn=1' browser.get(URL) while True: try: btn = browser.find_element_by_xpath('xxxx') btn.click() time.sleep(5) except NoSuchElementException: break titles = [] prices = [] #施設名 elems = browser.find_elements_by_class_name('st2-search-list__title-txt') for elem in elems: elem_title = elem.find_element_by_tag_name('span') title = elem_title.text titles.append(title) #価格 elems_p = browser.find_elements_by_class_name('st2-price__price') for elem_p in elems_p: elem_price = elem_p.find_element_by_tag_name('span') price = elem_price.text prices.append(price)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/22 04:33