问题描述
在网站上,它显示一个数字,例如“ 1”,并带有其他可更改值的元素。
<input data-v-a6368fd8="" id="base-amount-input-211" max="10" name="Counter" disabled="disabled" type="number" class="amount-input__number amount-input__number--active">
当我查询类似元素
时handle = page.querySelector('//input[starts-with(@name,"Counter")]')
我得到了手柄的结果。
当我尝试读取句柄内容时
handle.innerText()
handle.innerHTML()
都为空('')
如何访问当前输入值?
解决方法
对于输入元素,element.value
返回填写的内容。您可以使用page.evalOnSelector
来针对该选择器在页面中运行JS并获取值。
selector = '//input[starts-with(@name,"Counter")]'
value = page.evalOnSelector(selector,"(element) => element.value")
,
另一种方法是简单地使用 getAttribute()
的 elementHandle
方法来检索值:
handle = page.querySelector('//input[starts-with(@name,"Counter")]')
value = handle.getAttribute("value")