我正在尝试找到一种可靠的方法来在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元素的位置没有问题。
答案 0 :(得分:3)
这是Selenium的一个缺陷。我已经输入了一个错误,并将发布一个示例页面和脚本,以便在下周的某个时间重现它。
答案 1 :(得分:2)
请再次检查链接的实际文本。它不起作用可能是可以有空格或可能是大写,文本中的小写。 你也可以尝试,
@FindBy(linkText = “Logout”)
部分链接文字
@FindBy(partialLinkText = “Logout”)