我正在尝试获取动态创建的html标签ID的文本。我有办法得到它。代码是:
<p class="old-price">
<span class="price-label">Regular Price:</span>
<span class="price" id="old-price-8886"> ৳300 </span>
</p>
此处id="old-price-8886"
是动态ID。在此ID中,"old-price-****"
对于所有price
类都是静态的。我需要从中获得৳300
的价值。
答案 0 :(得分:1)
假设支持属性选择器,则可以使用以操作符开头的attribute = value选择器来指定部分匹配项。
[id^="old-price-"]
您可以将其扩展为包括父类,例如:
.old-price [id^="old-price-"]
答案 1 :(得分:0)
理想情况下,您根本不会使用该ID,而会使用这些类来获取数据:
>>> sel.css('.old-price .price::text').get()
' ৳300 '
如果不可能,则可以将starts-with
与xpath或CSS一起使用:
>>> sel.xpath('//span[starts-with(@id, "old-price-")]/text()').get()
' ৳300 '
>>> sel.css('span[id^="old-price-"]::text').get()
' ৳300 '