UI Angular 应用程序中文本输入字段中的文本在 DevTools 选择器中不可见 – 如何在自动化测试中找到它?

Text in text input fields in UI Angular application not visible in DevTools selectors – how to reach it in automation tests?

我想使用 C# + Selenium 在 Angular 中编写输入文本字段的自动化测试。问题是 UI 中 Angular 应用程序上的书面文本在 DevTools 中不可见,在输入中不可见,因此自动化测试无法通过 CSS 选择器或 Xpath 访问它。 如何在自动化测试中到达 DevTools 中的文本?

通常,输入字段文本值不会被元素属性(DOM 属性)反映,因此无法被任何选择器跟踪。

但是你可以在元素属性中找到值。

要读取值,您可以调用 getAttribute for WebElement

driver.findElement(by).getAttribute('value')

如果你想按值查找特定元素(使用值作为选择器),你应该得到所有具有相同选择器的元素

driver.findElements(by) 然后迭代并检查 getAttribute('value') 是否匹配。

这是一种通用方法,Angular 元素可能会引入一些差异,但无论如何,请尝试查看元素属性。