我怎样才能获得这个标签的元素?

时间:2017-10-29 02:54:59

标签: python html selenium

我正在尝试循环从列表中获取元素。这是列表元素中每个元素的一部分(问题是我知道如何选择 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"),但在此之后我不知道如何从上述信息中选择元素。谢谢!

2 个答案:

答案 0 :(得分:0)

默认情况下,soup.find_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

答案 1 :(得分:0)

如果您想使用Selenium,则不需要BeautifulSoup。初始化selenium驱动程序并获取html,然后使用:

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

然后获取此类中的属性:

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