IMPORTXML未选择第一个元素

IMPORTXML未选择第一个元素,xml,xpath,import,google-sheets,Xml,Xpath,Import,Google Sheets,在过去的几天里,我一直在试图找出如何使用以下XMLIMPORT只获取第一个元素 这是我正试图抓取的网站的URL: 我试图在没有得到所有其他价格(17.36美元)的情况下得到25.45美元的价格 $6.97、$32.80、$7.29、$19.09、$24.34、$149.05) 我一直在使用:=IMPORTXML(“,”//span[@itemprop='price']/text() 我做错了什么 看起来引用的网页源已更改。此时,下面的XPath查询 //span[@class = 'gcpric

在过去的几天里,我一直在试图找出如何使用以下XMLIMPORT只获取第一个元素

这是我正试图抓取的网站的URL:

我试图在没有得到所有其他价格(17.36美元)的情况下得到25.45美元的价格 $6.97、$32.80、$7.29、$19.09、$24.34、$149.05)

我一直在使用:=IMPORTXML(“,”//span[@itemprop='price']/text()


我做错了什么

看起来引用的网页源已更改。此时,下面的XPath查询

//span[@class = 'gcprice-value'] //span[@class='gcprice value'] 返回类似的结果:

$13.49 $12.14 $34.60 $30.50 $4.52 $13.49 $6.07 $160.50 $13.49 $12.14 $34.60 $30.50 $4.52 $13.49 $6.07 $160.50 为了只获得第一个价格,有几种备选方案:

  • 使用“规格化空间”功能:
  • 规范化空间(//*/span[@class='gcprice value']))
  • 将IMPORTXML嵌套在另一个Google Sheets函数中:
    (假设A1和A2分别持有URL和XPath查询
  • =索引(IMPORTXML(A1,A2),1)
  • 使用另一个类似于Chrome开发者工具提供的XPath
  • //*[@id=“addItemsToCartFromIdp”]/div[1]/div[1]/div/div[1]/p/span[2]
    您可以将函数包装在拆分公式中,以便在新行字符上拆分,而新行字符实际上只会排除其余数据:

    =SPLIT(IMPORTXML("http://www.grainger.com/product/DURACELL-Battery-5LE23", "//span[@class='gcprice-value']"),CHAR(10))
    

    Index
    是解决这个问题的简单方法,谢谢您,先生。 =Index(IMPORTXML(A1, A2),1) //*[@id="addItemsToCartFromIdp"]/div[1]/div[1]/div/div[1]/p/span[2]
    =SPLIT(IMPORTXML("http://www.grainger.com/product/DURACELL-Battery-5LE23", "//span[@class='gcprice-value']"),CHAR(10))