Seleniumでのスクレイピングでcss_selectorを用いてfor文で抽出したい
解決したいこと
css_selectorを使用して、for文でスクレイピングを使用としているのですが、値を取得できず、nullになってしまいます。どうすればfor文で抽出できますでしょうか?
# detail_category
wraps = driver.find_elements_by_class_name("js-track-project-card")
for wrap in wraps:
det = wrap.find_elements_by_css_selector("#color-my-milo > div > div > div > div:nth-child(3) > div.pb3.pt3.px3-sm.px4 > div.ksr-green-700.medium > div.flex > a:nth-child(1)")
if len(det) == 1:
detail_categories.append(det[0].text)
else:
detail_categories.append("null")
自分で試したこと
xpathで取得しようとすると、グローバル領域で、全体から取得してしまうため、for文の中では使用できず、調べた結果css_selectorを使用しております。
抜き出そうとしているカテゴリーの要素に、固有の属性が無いため、右クリック⇒csspathをコピーして使用しているのですが、これもxpath同様にグローバル領域で見てしまっているのでしょうか?
このように、固有のidやclassが無い場合はどのようにすれば宜しいのでしょうか。
宜しくお願い致します。
0