如何定位模态生成的随机 ID



我正在使用RF测试我的网站。问题是,每次打开模态时,都会在我要输入文本的文本框中设置不同的 id(定位器(。您如何获得此定位器的价值?

应该尝试获取元素属性,但它无法支持我的问题,因为它仍然需要一个特定的定位器。

在ROBOT Framework(RF(中,可以通过多种方式访问定位器。请参考并阅读此链接:http://robotframework.org/Selenium2Library/Selenium2Library.html

访问定位器的最常见方法是通过 id,例如:

Input Text  id:username # Element with id 'username'.
Input Text  id:password # Element with id 'password'. you can also use 'Input Password' keyword.

但是,如果"id"元素是如此动态以至于它不断变化,那么最好的选择是使用绝对XPATH表达式CSS选择器。在您的 Web 浏览器中安装 XPATH 附加组件。对于Firefox,只需安装ChroPath。

然后,获取该用户名和密码文本框的 ABSOLUTE Xpath 元素。假设我们已经知道绝对 xpath 表达式,所以在 ROBOT 中,你可以这样写。

${login_absolute_xpath}=  Set Variable   xpath=/html[1]//div[7]/form[1]/div[1]/input[1]
${password_absolute_xpath}=  Set Variable   xpath=/html[1]//div[7]/form[1]/div[2]/input[1]
Wait Until Page Contains Element   xpath=${login_absolute_xpath}
Input Text   xpath=${login_absolute_xpath}
Input Text   xpath=${password_absolute_xpath}
...

这应该有效。如果这有帮助,请告诉我。

最新更新