2013-05-10 166 views
1

我试图找到一种稳健的方式在Web应用程序的下拉用户菜单中找到注销链接。这是该链接的HTML:Selenium:通过LINK_TEXT或PARTIAL_LINK_TEXT找不到的元素

<a href="logout.jsp">Logout</a> 

我已经尝试以下操作:

/** The logout link */ 
@FindBy(how = How.PARTIAL_LINK_TEXT, using = "Logout") 
private WebElement logoutLink; 

/** The logout link */ 
@FindBy(how = How.LINK_TEXT, using = "Logout") 
private WebElement logoutLink; 

不过,我试图访问时注销不断收到一个NoSuchElementException链接。 LINK_TEXT方法在过去几天工作并神秘地停止工作。我尝试了PARTIAL_LINK_TEXT方法只是为踢腿,它也失败了。任何人都可以告诉我为什么没有找到链接。我在包含此链接的类上使用PageFactory.initElements,并且其他Web元素都没有问题。

回答

2

请再次检查链接的实际文本。它不工作可能会有空格,或者可能是大写,小写的文字。 您也可以尝试,

@FindBy(linkText = “Logout”) 

部分链接文本

@FindBy(partialLinkText = “Logout”) 
+0

链接文本包含在从网页我试图找到在注销链接的HTML代码段。该文本只是“注销”,不包含空格或其他特殊字符。今天晚些时候我会尝试你的替代FindBy注释建议。 – Selena 2013-05-11 16:47:40

+0

@FindBy(linkText =“注销”) 和 @FindBy(partialLinkText =“注销”)都无法找到元素。我仍然得到一个NoSuchElementException。似乎可行的唯一想法是XPath,它很脆弱,速度很慢。 – Selena 2013-05-13 17:17:34

+0

@Selena请检查应匹配的onclick字符串。 user1769790 2013-05-13 18:55:13