Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式在selenium中是如何工作的?_Regex_Selenium_Fitnesse_Selenium Fitnesse Bridge - Fatal编程技术网

Regex 正则表达式在selenium中是如何工作的?

Regex 正则表达式在selenium中是如何工作的?,regex,selenium,fitnesse,selenium-fitnesse-bridge,Regex,Selenium,Fitnesse,Selenium Fitnesse Bridge,我想存储一个id的一部分,然后扔掉其余的。例如,我有一个id为“element-12345”的html元素。我想扔掉'element-'而保留'12345'。我怎样才能做到这一点 我可以捕获并回显值,如下所示: | storeAttribute | //pathToMyElement@id | myId | | echo | ${!-myId-!} | | | storeAttribute | //pathToMyElement@id | myId | | echo | ${myId} | el

我想存储一个id的一部分,然后扔掉其余的。例如,我有一个id为“element-12345”的html元素。我想扔掉'element-'而保留'12345'。我怎样才能做到这一点

我可以捕获并回显值,如下所示:

| storeAttribute | //pathToMyElement@id | myId | | echo | ${!-myId-!} | | | storeAttribute | //pathToMyElement@id | myId | | echo | ${myId} | element-12345 | |存储属性|//pathToMyElement@id|粘虫| |回声${!-myId-!}| 当我运行测试时,我得到如下结果:

| storeAttribute | //pathToMyElement@id | myId | | echo | ${!-myId-!} | | | storeAttribute | //pathToMyElement@id | myId | | echo | ${myId} | element-12345 | |存储属性|//pathToMyElement@id|粘虫| |echo${myId}|元素-12345| 我正在使用Selenium IDE进行录制,并使用Selenium Bridge夹具将测试复制到Fitnesse中。问题是每次运行测试时我都在使用一个干净的数据库,随机ID需要在整个测试过程中捕获和使用。

/element-(\d+)/I

这是一个正则表达式,可以捕获破折号后的数字。

类似的方法可能会奏效:


要执行正则表达式,需要XPath 2.0-不确定Selenium实现了哪个版本。

解决方案是使用JavaScript
replace()
函数和
storeEval

| storeAttribute | //pathToMyElement@id                                   | elementID |
| storeEval      | '${elementID}'.replace("element-", "")                 | myID      |
现在,如果我回显
myID
我只得到ID:

| echo | ${myID} | 12345 |

+1因为硒是一种极好的工具!谢谢现在我的代码中会出现什么情况存储属性|//pathToMyElement@id| myId |我真的很抱歉,但我以前从未使用过硒。我发布了正则表达式,希望以前使用过它的人能过来帮助你使用它。不过,我会做一些研究,看看能不能找到一个答案:)