我有一个我需要登录的网站,但每次输入文本字段ID和名称之一都会更改。有没有办法通过正则表达式访问元素?提前谢谢。
示例:
ID = “形式:涡卷:j_idt1297:0:j_idt1298:输入”
ID = “形式:涡卷:j_idt2151:0:j_idt2152:输入”
<input class="iceInpSecrt large"
id="form:wrap:j_idt1297:0:j_idt1298:input"
name="form:wrap:j_idt1297:0:j_idt1298:input"
onblur="setFocus('');" onfocus="setFocus(this.id);"
onkeyup="iceSubmit(form,this,event);"
onmousedown="this.focus();" tabindex="" type="password" value="">
答案 0 :(得分:4)
是的,您可以使用正则表达式匹配元素。它类似于按字符串定位id / name。
看起来像:
browser.text_field(:id => /a_regex/)
对于您的示例,以下内容将使用上述任一ID找到文本字段:
browser.text_field(:id => /form:wrap:j_idt\d{4}:0:j_idt\d{4}:input/)
注意:
/form:wrap:j_idt/
。