Selenium python来定位元素并打印其属性

2024-06-09 01:12:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建这个特定的网站-Link to the Page。我想为每个属性创建数据列表id。请看图片,看看我试图定位的元素。我不能发布我的HTML,因为它要复杂得多。Image

下面是我尝试的示例代码-

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。请给我你的建议。谢谢。你知道吗


Tags: nameinid元素forgetindexby
2条回答

根据安德森的话,你需要找到所有的元素,而不是一个。你也混淆了你的选择。我建议只使用css\u选择器:

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")

快速的方法是找到所有具有您要查找的属性的元素。据我所知,只有你想要的元素才有这个属性。你知道吗

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"))

相关问题 更多 >