我有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$")
的事情
所以这是可能的?如果没有。如何使用其他方法
在XPath 2.0中,您可以执行
matches(., "^123(.|,)123$")
在XPath1.0中,您可以尝试
translate(., ',', '.') = "123.123"
在SO问题中,请始终说明您使用的XPath版本,因为1.0、2.0和3.1都是常用的。
搜索编号11,27ind"div.message__main"
在JavaScript中:
document.querySelector("div.message__main").innerHTML.match(/11(.|,)27/);