我正在尝试捕获将随机生成的元素的id。我可以像这样成功捕获我的元素id的值......

| storeAttribute | //div[1]@id | variableName |

现在我的变量将是......

divElement-12345

我想删除'divElement-',以便我留下的变量是'12345',这样我以后可以使用它来选择与它相关的'form-12345'元素......这样的事情:

| type | //tr[@id='form-${variableName}']/td/form/fieldset/p[1]/input | Type this |

我怎么能够做到这一点?

有帮助吗?

解决方案

Selenium,XPath和CSS Selector有两个选项。我已经读过CSS Selector更适合在FireFox和IE中进行测试。 使用最新版本的Selenium IDE(3/5/2009)我成功使用了storeEval来评估Javascript表达式,使您可以访问javascript字符串函数。

的XPath:

storeAttribute | //div[1]@id                                            | divID
storeEval      | '${divID}'.replace("divElement-", "")                  | number
type           | //tr[@id='form-${number}']/td/form/fieldset/p[1]/input | Type this

CSS选择器:

storeAttribute | css=div[1]@id                                                     | divID
storeEval      | '${divID}'.replace("divElement-", "")                             | number
type           | css=tr[id='form-${number}'] > td > form > fieldset > p[1] > input | Type this

其他提示

XPATH中有许多功能可以解决您的问题。假设“divElement-”是一个不会改变的常量,并且你正在使用XPath 2.0,我建议:

子 - 后(DIV [1] / @ ID /文本()," divElement-&QUOT)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top