此问题可能与以下内容重复: XPATH required for an input text field?
但问题是为什么我的自定义xpath无法正常工作。虽然它适用于按钮,页面上的纯文本,链接等。 这是它的HTML:
<input id="uemail" class="input_text" type="email" value="" tabindex="1" size="30" name="user[email]" autofocus="autofocus" autocorrect="off" autocapitalize="off"/>
对于这个HTML,我试图在firebug
找到它,我写道:
//*[text()[contains(.,'user_email')]]
//id[text()[contains(.,'user_email')]]
//*[id()[contains(.,'user_email')]]
但没有工作,我缺少什么。答案 0 :(得分:0)
原因:
1.因为,您正在使用text()
查找文本,但没有文本(根据给定的HTML),就像您可能在链接,按钮,页面上的纯文本等中一样,因此请将其删除。
2.在'contains'
之后,您正在查找所有元素,只需查找其类型,即id
3.第三,你知道它是一个输入字段,所以使用*
或input
。
*
表示任何,input
表示这是一个输入框。
所以,最后它成为://input[contains(@id,'user_email')]
。我相信它会起作用。