如何在webdriver支持的Selenium RC中包含正则表达式?

时间:2012-03-16 21:50:00

标签: java selenium selenium-rc

我遇到问题自动化,使用Selenium RC和Java在文本框中键入变量id的文本。奇怪的是,下面的代码在使用C#的Selenium RC中运行良好,但在Java中运行不正确。

selenium.type("xpath=//input[matches(@id,'.*firstName')]", firstName); 

使用C#处理Selenium RC,但不使用Java。

我在查看了一些stackoverflow帖子之后也尝试了这些选项,但它仍然不起作用

xpath=//input[@contains(@id,'firstName')];
xpath=//input[@contains(@id,'.*firstName')];
xpath=//input["id=regexp:.*firstName"); 
css=input[id^='regexp:.*firstName'];
css=input[id^='firstName'] 

这是文本框的Xpath代码。

<td>
 <input type="text" class="textboxbase" id="mymainfirstgenid_13_mainsecond:firstName"      style= "width:160px; "tabindex="0">
</td>

我使用(。*)作为Selenium C#中变量id的正则表达式,它工作正常,但在Java中不起作用。此外,我不能使用类和名称作为参数,因为它们对于所有字段都是相同的。只有每个元素都有变量id。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

css=input[id^='firstName'] 

用于字符串的BEGINNING。

对于字符串的结尾,请使用:

css=input[id$='firstName']