面对一个登录表单,Playwright 的 getByLabel、getByPlaceholder、getByText 之间应如何按优先级选择?
本题考察登录表单中三个常见定位器的优先级选择。结论是 getByLabel 语义绑定最强,getByPlaceholder 是属性提示,getByText 纯粹按可见文本匹配且脆弱。解释各自绑定来源与为何国际化会破坏 text 定位。
表单专题面试题第 1 页,显示第 1–50 题,共找到 157 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
本题考察登录表单中三个常见定位器的优先级选择。结论是 getByLabel 语义绑定最强,getByPlaceholder 是属性提示,getByText 纯粹按可见文本匹配且脆弱。解释各自绑定来源与为何国际化会破坏 text 定位。
围绕“页面上没有可见 file input(只有拖拽区或按钮)时,Playwright 如何用 filechooser 事”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 waitForEvent('filechooser') 的拦截式上传路径。
围绕“只用键盘事件(Tab、Enter、快捷键)驱动表单流程时,Agent 需要验证什么才能确认焦点轨迹正确”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确焦点断言(toBeFocused)与快捷键触发结果的确认方法。
围绕“原生 select 用 selectOption,而自绘下拉框必须点开再选项——Agent 如何区分并分别自动化”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确两类控件的判定方法与交互序列差异。
从工作区、模型生成与用户补充信息三个方向解释 MCP 客户端能力,说明 sampling.tools 和 elicitation 模式,以及能力声明不等于授权或资源开放。
围绕“MCP 的 Elicitation 允许服务端向用户请求结构化输入,适用场景与敏感信息限制是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 schema 约束的表单式输入及禁止索取密码等敏感信息。
围绕“如何在模型驱动表单中动态添加或删除表单控件?这需要修改哪些数据结构”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明需通过 FormGroup 与 FormArray 拓展动态结构。
围绕“当一个组件的 @Input() 属性接收了空值(如 null)时,它是否会被视为有效输入?如何判断是否已赋值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明输入值为 null 仍被视为有效输入,需通过显式比较判断。
本题解释 Angular 基于 @Input/@Output 的父子通信机制,阐明输入是单向传值且不可反向修改,输出事件由 EventEmitter 同步触发,并给出具体购物车场景及失效边界。
本文解释 input accept 属性的本质是选择提示而非安全边界,给出其可被绕过的情况。说明如何在前端通过 File.type 和扩展名进行辅助校验,并强调服务端校验的必要性,以及失败时的用户提示和体验兜底。
围绕“:focus-within 伪类对哪些场景很有用?它和 :focus 的继承关系如何”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释当子元素获得焦点时父元素匹配,用于表单高亮。
围绕“:required 与 :optional 伪类是如何对应输入框属性的?请结合实际表单验证场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释它们根据 required 属性,但不能直接判断有效/无效,可配合 :valid。
围绕“:in-range 和 :out-of-range 伪类适用于哪些控件?如何设置范围并触发”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕须提到可适用于 input[type=number] 或 range,需 min/max 属性。
围绕“:enabled 和 :disabled 伪类能适用于哪些元素?如果对链接使用会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明它们主要针对表单控件,链接不能用。
围绕“表单校验规则随业务频繁增减时,如何用策略模式组织校验逻辑”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确每条规则为独立策略、按字段组合执行的结构。
围绕“focusin/focusout 事件与 focus/blur 事件在冒泡行为上有何差异?在表单校验中如何选择”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 focusin/focusout 冒泡(但非标准被广泛支持),以及委托时优先使用 focusin。
围绕“HTMLCollection 的 namedItem 方法在什么时候有用?它如何处理重名的项”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需回答可用于表单等带 name 属性元素。会返回第一个匹配或 null。
围绕“在 Express 接口设计中,multipart/form-data 直传与 JSON 内嵌 base64 各有什”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从体积膨胀约 33%、body limit、内存占用与流式处理能力给出选型判断,不讲预签名直传对象存储的架构。
围绕“Go 的 select 在多个 case 同时就绪时怎么选择,default 分支带来什么行为变化”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明多分支就绪时伪随机选择、default 使 select 变非阻塞及忙轮询风险。
围绕“为什么 GraphQL 的输入参数必须使用 Input 类型而不能直接用 Object 类型”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释输入与输出类型分离对循环引用、默认值和校验的意义。
围绕“<form> 的 accept-charset 属性影响什么?若省略,字符编码如何确定”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释字符集列表、默认继承页面编码。
围绕“为什么推荐用 value 属性(DOM 属性)而不是 getAttribute('value') 获取输入内容”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕强调属性为反射但当前值在属性。
围绕“autocomplete 属性有哪些重要取值?密码正确实践是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要讨论表单管理器行为,重点 autocomplete 的语义值。
围绕“autocomplete 属性如何用具体 token 描述地址或卡片信息”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明识别标准 token 支持自动填充,不列举所有类型。
围绕“在 HTML 表单中 autofocus 属性如何在页面加载时聚焦控件?它有哪些可用性注意事项”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕描述 autofocus 单页、可能影响屏幕阅读器。
围绕“<button> 的 type 属性默认是什么?不当设置可能导致什么提交问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕强调默认 type=submit,防止非预期提交,不比较 button 与 input。
围绕“复选框(checkbox)的 indeterminate 属性如何设置?它与 checked 状态有何关系”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 indeterminate 仅由脚本设置,不影响 checked。
本题讲解 input type=color 的 value 格式要求,说明传统 #rrggbb 与 alpha 通道的关系,并解释现代浏览器扩展支持与兼容注意点,给出实用判断方法。
围绕“CSS 选择器 :valid、:invalid、:user-valid 之间的区别与优先级”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释伪类基于校验状态,区分用户交互与初始状态。
围绕“<datalist> 如何与 input 关联?它是否为强制选项”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕强调 datalist 提供建议、不强制,配合 list 属性,不深入自动补全。
date 输入类型的提交值格式为 yyyy-mm-dd,不携带时区。题目明确解析了该类型与 datetime-local、time 的区别,并说明如何获取和设置值,以及提交后服务端应如何理解该日期。
围绕“datetime-local 提交的值包含哪些部分?它与 date 和时间类型的组合用途有什么不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕强调本地日期时间无时区,并对比独立日期与时间组合。
本文说明 HTML email 输入类型的约束验证机制,包括内置正则的宽松匹配、multiple 多地址语义,并分析 +号、子域名、国际化邮箱等边界条件,最后指出客户端校验不能替代服务器验证。
围绕“表单的 enctype 值有哪些?multipart/form-data 为何常用于文件上传”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较三种 enctype 的场景,不解析二进制分帧细节。
围绕“对 <fieldset> 设置 disabled 如何影响其内部控件?有哪些例外”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明除 name 本身外其它表单控件都禁用。
围绕“<fieldset> 和 <legend> 如何为表单提供可访问性分组”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖强调分组 label 的关联作用。
围绕“file 输入的 accept 与 multiple 属性如何限制可选择的文件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 accept 仅过滤建议、multiple 允许多选,不处理文件内容。
围绕“HTML5 的 form 属性如何让控件关联到外部的表单?它有什么用途与限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明可关联同一文档中非子孙表单。
围绕“new FormData(form) 如何收集表单数据?它如何处理禁用元素”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明只有成功控件才包括,禁用被忽略。
围绕“submit 按钮如何通过 formmethod 与 formaction 覆盖其所属表单的 method 与 ac”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释按钮级覆盖机制。
围绕“formnovalidate 属性在提交按钮上如何绕过表单校验”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明仅对提交按钮生效,不改变表单的 novalidate。
围绕“hidden 输入类型在表单一侧有哪些实用场景?它的 name 与 value 提交时是否包含”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明维持状态或额外数据,不提安全用途。
围绕“image 输入类型的名称由来是什么?它提交额外坐标数据但有哪些可访问性问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 image 是一种提交按钮且提交 x/y 坐标,不覆盖图片上传。
围绕“input 的 lang 或 dir 属性如何影响输入法或提交编码”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕只谈 lang 对 IME 及 dir 对方向性的影响。
围绕“label 的 for 属性如何与表单控件关联?如果控件嵌套在 label 内部还需要 for 吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明显式与隐式关联,并解释嵌套时 for 可选。
围绕“minlength 与 maxlength 对于 textarea 和 input 的约束有何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要对比两者在字符数约束及换行处理上的差异。
围绕“month 输入类型提交的值是哪一种格式?其值域的上限与下限如何设置”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 yyyy-mm 格式及 min/max 用法。
本文从 step 的基值选取规则出发,解释 step=1 的默认行为、小数步长的浮点误差陷阱,以及 step=any 恢复自由数值的效果。通过 min=50 step=0.1 的实例说明为何某些看似合法的输入被拒绝,并给出 stepMismatch 属性作为脚本检测手段。
围绕“数字输入的最小/最大/步进约束违例之后,浏览器如何在提交时报告错误”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖指出无效属性如 validationMessage 以及具体约束不匹配,不覆盖无限校验。
围绕“在 <select> 中 <optgroup> 能否设置 disabled?它对子选项有何影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 optgroup 禁用后其所有 options 不可选,但不影响其他组。