WebDriver中的动态元素ID

mra*_*419 2 webdriver

最近我开始学习WebDriver作为我的客户,我正在计划使用WebDriver自动化Web应用程序.

我怀疑WebDriver如何定位id动态变化的网页上的元素(比如更改每次登录到应用程序).任何人都可以解释我们如何使用WebDriver完成这项任务?

Pet*_*ala 5

定位具有动态id的元素可能很脆弱.我宁愿使用一些可见的文本,例如xpath表达式.我的观点是,在大多数情况下,可见文本通常是应用程序的要求或规范的一部分,id则不是.因此,id更可能发生变化,而可见文本则不然.

例如,要在登录表单中找到用户名字段,我可能会使用xpath:

//label[.='Username']//following::input[1]

这假设在输入字段之前有一个标签"Username".

我发现Firebug控制台函数$ x("xpath string")在调试这些xpath时非常有用.