我有一个xpath会自动生成的web元素,但以“ _2”结尾。xpath具有以下格式:
//*[@id="hNQjKwNtHyHqFtVtOQTm_2"]
//*[@id="dZcUekrklXsbv_AlImka_2"]
我已经尝试过:
//input[ends-with(@id,'_2')]"
//*[contains(@id="_2")]'
和包含的不同组合,但我没有运气。我似乎无法做到这一点,是否有另一种方法可以解决?还是可以帮助我了解问题所在?
在量角器中,我收到一条错误消息,通知我xpath无效
<input data-bind=" attr: { maxlength: maxlength, type: type, id: id, 'data-type': dataType, disabled: disabled, 'aria-disabled': disabled, 'pattern': pattern, 'inputmode': 'numeric', 'max': $data.max, 'min': $data.min, 'step': $data.step, 'tabindex': $data.tabIndex, 'aria-invalid': isInvalid, 'aria-label': label }, value: val, valueUpdate: valueUpdate, css: { error: $data.err, hasFocus: hasFocus, hideCaret: $data.hideCaret, hasValue: hasValue }, event: { focus: onFocus, blur: onBlur }" autocomplete="off" autocapitalize="off" autocorrect="off" formnovalidate="" required="" maxlength="11" type="tel" id="dZcUekrklXsbv_AlImka_2" pattern="[0-9]*" tabindex="2000" aria-invalid="true" class="">
//input[ends-with(@id,'_2')]
应该正常工作。不幸的是,您的系统可能仅支持xpath 1.0,ends-with()
是xpath 2.0表达式。您可以尝试通过使用此限制来破解
//input[substring(@id,string-length(@id)-1 )="_2"]
并查看是否有效。