无法从Xpath获取子串

时间:2017-08-17 19:26:50

标签: exception xpath

使用浏览器控制台,以下命令返回图像文件的源路径。

$x('//*[@class="full scale-horiz"]/@src')

返回

https://images.thewebsite.com/img/p400/17732/12digitcodes.jpg

我只想从图像路径中检索12个数据集。没有.jpg或其他任何东西。我尝试过使用substring-before和substring-length,但我得到的只是错误。它们要么不是法律表达,要么引发例外。

我认为这个命令可以做到:

$x('substring-before(//*[@class="full scale-horiz"]/@src, ".jpg")')

但它返回此错误:TypeError:无法转换表达式以返回指定的类型。

有人可以帮我解决这个问题,这样我就能得到我想要的东西吗?

1 个答案:

答案 0 :(得分:0)

这就是最终工作的原因,我的原始代码在Firefox控制台上返回了一个错误,但在Chrome控制台中工作正常。这就是我最终用来获取我试图抓取的12位数代码。如果有更简单/更短的命令,请告诉我。感谢。

substring(substring-before(//*[@class="full scale-horiz"]/@src, ".jpg"), string-length(substring-before(//*[@class="full scale-horiz"]/@src, ".jpg"))-11)