如何获取此标签的元素?

2024-09-23 00:23:38 发布

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

我试着做一个循环,从列表中获取元素。这是列表元素中每个元素的一部分(问题是我知道如何选择produto nome,produto preco,categoria e subcategoria中的元素)

<div categoria="Carnes" class="panel-product" produto-fabricante="" produto-nome="Contra Filé Maturada FRIBOI Resfriado Pedaço 1,1kg" produto-preco="45.09" produto-qtd="1" produto-sku="0028363" ruptura="Verdadeiro" subcategoria="Carne bovina">

我在Python中使用包Selenium,因此,要从html页面中提取这个列表,我使用:soup.find_all("div", "panel-product"),但是在此之后,我不知道如何从上面描述的信息中选择元素。谢谢


Tags: div元素列表productclasspanelcontranome
2条回答

因为您想使用Selenium,所以不需要BeautifulSoup。初始化selenium驱动程序并获取html,然后使用:

c = driver.find_elements_by_class_name("panel-product")

然后要获取此类中的属性:

print(c.get_attribute('produto-nome'))

默认情况下,soup.find\u all应该提供一个包含每个元素的对象数组,这样就可以通过

data = soup.find_all("div", "panel-product")
for d in data:
  produtofabricante = d.attrs['produto-fabricante']
  # do what you need here

Check Soap documentation for .attrs

相关问题 更多 >