我有ID定位器的密码字段" j_idt90"。但是,ID是动态的,每次登录页面加载时,前面的两位数都会更改。
我使用自动化来捕获这个字段并在正则表达式下面使用但它失败了。请告诉我,我未能确定该元素的位置。
Reg Exp - driver.findElement(By.id("j_idt[0-9]{2}"));
答案 0 :(得分:3)
您可以通过XPath找到元素。假设您的页面中只有一个密码字段,则以下代码段应该有效:
driver.findElement(By.xpath("//input[@type='password']"));
答案 1 :(得分:2)
答案 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