我不喜欢使用id来让Selenium更容易找到元素。我认为Selenium应该利用可访问性ARIA属性,这不仅会使Selenium更好,而且屏幕阅读器也更容易访问。从某种意义上说,像WebDriver这样的机器人应该依赖于像REST API这样的语义。
aria-label
似乎是一个很好的候选人,比如<button aria-label="close-user-dialog">
,但是这些属性应该是可翻译的吗?这会破坏我的Selenium要求,这需要一个不会改变的唯一ID。
答案 0 :(得分:0)
嗯,是的,他们是,而且总的来说我不鼓励使用咏叹调标签。以普通用户不可见的方式向AT用户传送信息被认为是反模式的,因为(a)信息可能无法正确维护,(b)普通用户通常可以从该信息中受益。
如果可能,请使用aria-labelledby,然后您的Selenium参考可以使用它而不用担心它会在翻译中丢失。