java-regex:如何为两位数字写正则表达式

时间:2016-11-30 08:27:15

标签: java regex selenium-webdriver

我有ID定位器的密码字段" j_idt90"。但是,ID是动态的,每次登录页面加载时,前面的两位数都会更改。

我使用自动化来捕获这个字段并在正则表达式下面使用但它失败了。请告诉我,我未能确定该元素的位置。

Reg Exp - driver.findElement(By.id("j_idt[0-9]{2}"));

3 个答案:

答案 0 :(得分:3)

您可以通过XPath找到元素。假设您的页面中只有一个密码字段,则以下代码段应该有效:

driver.findElement(By.xpath("//input[@type='password']"));

答案 1 :(得分:2)

By.id不采用正则表达式,而是使用简单的字符串作为参数。

见这里:enter image description here

答案 2 :(得分:2)

与Boni的答案类似,但您可以尝试使用xpath函数starts-with

driver.findElement(By.xpath("//input[starts-with(@id, 'j_idt')]"));

这将搜索任何"输入"具有以文字' j_idt'开头的ID的元素。另请参阅http://www.w3schools.com/xml/xsl_functions.asp