我有HTML代码。
<div _ngcontent-c30="" class="message__main"><p _ngcontent-c30="">Куплю</p><ul _ngcontent-c30="" class="message__conditions list list--inline"><!----><li _ngcontent-c30="" class="list__item ng-star-inserted"><p _ngcontent-c30="" class="list__key">Кол-во:</p><p _ngcontent-c30="" class="list__value">1 10³ м.</p></li><li _ngcontent-c30="" class="list__item"><span _ngcontent-c30="" class="point"></span></li><!----><li _ngcontent-c30="" class="list__item ng-star-inserted"><p _ngcontent-c30="" class="list__key">Цена за ед.:</p><p _ngcontent-c30="" class="list__value">1,00 ₽</p></li><li _ngcontent-c30="" class="list__item"><span _ngcontent-c30="" class="point"></span></li><li _ngcontent-c30="" class="list__item"><p _ngcontent-c30="" class="list__key">Сумма:</p><p _ngcontent-c30="" class="list__value">1,00 ₽</p></li></ul></div>
我需要检查显示的数字是否正确(带有小数部分)。
我认为两次联系定位器是错误的,希望一次是正确的。我想做类似contains(.,"^123(.|,)123$")
那么有可能吗? 如果不。用其他方法怎么做
答案 0 :(得分:1)
在XPath 2.0中,您可以
matches(., "^123(.|,)123$")
在XPath 1.0中,您可以尝试
translate(., ',', '.') = "123.123"
在SO问题中,请务必说出您正在使用哪个XPath版本,因为1.0、2.0和3.1都是通用的。
答案 1 :(得分:0)
搜索号码 11,27 ind "div.message__main"
在JavaScript中:
document.querySelector("div.message__main").innerHTML.match(/11(.|,)27/);