2011-01-10 76 views
0
@FindBy(how = How.XPATH, 
     using = "//div[@class='dynamic-main-content'] 
        //div[label[text()='Number of At Fault Claim Free Years']] 
         /select") 
     private WebElement _faultClaimFreeYearsDropDown; 

在实际的HTML中,标签文本中存在中断。我应该如何编写XPATH?需要xpath表达式,其中包含标签中的中断

+1

你能提供HTML样本吗? – Flack 2011-01-10 08:28:42

+1

@ user569254:如果通过“break”表示一个`br`元素,那么就没有一个**文本节点**,其中有'Number Of At Fault Claim Free Years'字符串值。你不觉得吗? – 2011-01-10 18:40:33

回答

1

另外,不要使用[text()='the text'],请使用[normalize-space(.)='the text']。使用.而不是text()可让您的代码具有适应性,例如在匹配的文本中出现注释(或元素标记)。

0

如果有一个换行符(回车和/或换行符)或额外的空格在标签文本,你可以在使用normalize-space()labeltext()

//div[@class='dynamic-main-content']//div[label[normalize-space(.)='Number of At Fault Claim Free Years']]/select

+0

// div [@ class ='dynamic-main-content'] // div [label [normalize-space(text())='免费年度出现问题的次数]]/select - 这不起作用。我试图使用查看xpather来查看它,但它不会显示任何结果 – Maalamaal 2011-01-10 03:43:59