我正在尝试网页抓取这个特定的网站 - Link to the Page。我想webscrape每个属性的data-listing-id。请看图像以查看我想要找到的元素。我无法发布我的HTML,因为它复杂得多。
以下是我尝试的示例代码 -
driver.get("https://app.thestorefront.com/listings?address=New%20York,%20NY,%20USA&page=1")
Container=driver.find_elements_by_class_name("listing-panel")
for index in Container:
a= index.find_element_by_class_name("favourite-tag.ng-isolate-scope")
print(a)
for index2 in a:
b= index2.get_attribute("data-listing-id")
,结果无法找到元素a。请给我你的建议。非常感谢。
答案 0 :(得分:1)
快速执行此操作的方法是找到具有您要查找的属性的所有元素。据我所知,只有你想要的元素具有该属性。
driver.get("https://app.thestorefront.com/listings?address=New%20York,%20NY,%20USA&page=1")
for e in driver.find_elements_by_css_selector("[data-listing-id]")
print(e.get_attribute("data-listing-id"))
答案 1 :(得分:0)
要建立Andersson所说的内容,你需要找到所有元素,而不仅仅是一个。你也混淆了你的选择器。我建议只使用css_selector:
driver.get("https://app.thestorefront.com/listings?address=New%20York,%20NY,%20USA&page=1")
Container=driver.find_elements_by_class_name("listing-panel")
for index in Container:
a= index.find_elements_by_css_selector(".favourite-tag.ng-isolate-scope")
print(a)
for index2 in a:
b= index2.get_attribute("data-listing-id")