0

我正在制作 excel 文件以从网站获取产品价格并进行比较。到目前为止,我设法解析了产品名称和价格。但是问题来了,当产品在打折时,它有不同的元素,如下图所示 1 是正常的 2 是打折的 1。

<div class="price">
   <span>$87</span>
</div>

2

<div class="price">
   <del>100</del>
   <ins>80</ins>
</div>

我在做

Set hPrice = hPord(r).getElementsByClassName("price")  
for loop    
ActiveSheet.Range("H6").Offset(r, 0).Value = hPrice(0).innerText

这适用于正常产品价格,但在销售产品时它返回“100 80”我尝试使用

If Not hPrice(0).getElementsByTagName("ins") Then    

当“ins”不存在时,这会出错,请让我知道如何验证子标签是否存在,或者你有更好的选择

谢谢

4

2 回答 2

0

您忘记将<ins>标签索引添加到您的行中。这可能是这样的:

 If Not hPrice(0).getElementsByTagName("ins")(0) Then 

换句话说,要获得产品价格值,您需要有这条线:

hPrice(0).getElementsByTagName("ins")(0).innerText
于 2013-10-11T16:35:01.260 回答
0

尝试以下示例

If Not hPrice.getElementsByTagName("ins")(0) Then

或者

If Not hPrice.getElementsByTagName("ins") Then

于 2013-10-11T20:04:05.247 回答