使用PHP Selenium/WebDriver获取源码不展示值的input元素内容方法咨询
如何获取输入框内的非显式内容
问题原因
getText() 方法的作用是读取DOM元素节点的内部文本内容,而<input>标签的用户输入值、动态赋值内容均存储在value属性中,不属于元素内部文本范畴,因此使用getText()无法读取到对应内容。
解决方案
使用getAttribute('value')方法读取输入框的value属性即可获取对应内容,修正后的代码如下:
$driver->findElement(WebDriverBy::xpath('//*[@id="list-overlay-form-wrapper"]/div/div[2]/div[1]/div[1]/div/div[1]/div/input'))->getAttribute('value');
注意事项
- 如果目标值是页面加载完成后通过JS异步填充的,需要先添加显式等待逻辑,确认
value属性已完成赋值后再执行读取操作,避免取到空值。
内容的提问来源于stack exchange,提问作者Kacper
相关产品推荐
相关产品推荐

