如何使用JS Executor移除input的readonly属性并输入内容?
移除输入框readonly属性并通过JS Executor输入内容
嘿,这事儿好办!针对你提到的那个带readonly属性的输入框,我们完全可以通过JS Executor来移除这个限制,之后就能直接输入内容啦。
具体步骤和代码示例
首先,我们需要用JS代码定位到目标输入框,然后移除它的readonly属性,有两种常用方式:
- 使用
removeAttribute方法直接移除属性
document.getElementById('sch-555-et').removeAttribute('readonly');
- 将元素的
readOnly属性设为false
document.getElementById('sch-555-et').readOnly = false;
两种方式都能生效,选你习惯的就行。
移除属性之后,就可以继续用JS Executor往输入框里写入内容了:
document.getElementById('sch-555-et').value = '你需要输入的内容';
整合到自动化测试工具中的示例
如果你是用Selenium这类自动化工具,这里给你两种常见语言的写法参考:
Java版本:
// 获取JS Executor实例 JavascriptExecutor js = (JavascriptExecutor) driver; // 移除readonly属性 js.executeScript("document.getElementById('sch-555-et').removeAttribute('readonly');"); // 输入内容 js.executeScript("document.getElementById('sch-555-et').value = '测试输入内容';");
Python版本:
# 执行JS代码移除readonly属性 driver.execute_script("document.getElementById('sch-555-et').removeAttribute('readonly');") # 执行JS代码输入内容 driver.execute_script("document.getElementById('sch-555-et').value = '测试输入内容';")
原理其实很简单:readonly只是限制了前端用户的手动输入操作,但通过JS直接操作DOM元素的属性,就能绕过这个限制,完美适配你跳过图片浏览步骤的需求~
内容的提问来源于stack exchange,提问作者paul
相关产品推荐
相关产品推荐

