指定输入框发送文本时适用的Selenium find_element_by定位方式
自动化测试目标输入框的定位方法选择
首选定位方法:find_element_by_id
- 该输入框的
id属性值为固定静态的cardNumber-input,在页面DOM中全局唯一,无动态变化特征,定位稳定性最高,是自动化测试场景的最优选。 - 对应操作代码:
driver.find_element_by_id("cardNumber-input")
备选可靠定位方法:find_element_by_name
- 若存在特殊场景无法使用id定位,可使用固定静态的
name属性值cardNumber完成定位,可靠性同样达标。 - 对应操作代码:
driver.find_element_by_name("cardNumber")
需规避的定位方式
- 禁止使用Angular构建生成的动态属性
_ngcontent-ng-cli-universal-c28定位,这类属性值会在项目重新构建后随机变更,极易失效。 - 禁止使用class属性定位,类名中的
ng-pristine、ng-invalid是Angular框架根据输入状态动态切换的标识,会在输入操作后立刻变化,导致定位失败。
内容的提问来源于stack exchange,提问作者payoung
相关产品推荐
相关产品推荐

