Selenium:元素未通过LINK_TEXT或PARTIAL_LINK_TEXT找到

时间:2013-05-10 15:57:32

标签: java selenium automation selenium-webdriver

我正在尝试找到一种可靠的方法来在Web应用程序的下拉用户菜单中找到注销链接。这是链接的html:

<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 个答案:

答案 0 :(得分:3)

这是Selenium的一个缺陷。我已经输入了一个错误,并将发布一个示例页面和脚本,以便在下周的某个时间重现它。

http://code.google.com/p/selenium/issues/detail?id=5772

答案 1 :(得分:2)

请再次检查链接的实际文本。它不起作用可能是可以有空格或可能是大写,文本中的小写。 你也可以尝试,

@FindBy(linkText = “Logout”)

部分链接文字

@FindBy(partialLinkText = “Logout”)