Java Selenium:元素未通过链接文本或部分链接文本定位

Java Selenium:元素未通过链接文本或部分链接文本定位,java,selenium,automation,selenium-webdriver,Java,Selenium,Automation,Selenium Webdriver,我正试图找到一种可靠的方法,在web应用程序的下拉用户菜单中找到注销链接。这是链接的html: <a href="logout.jsp">Logout</a> 及 然而,当我尝试访问注销链接时,我总是得到一个NoTouchElementException。LINK_TEXT方法以前是有效的,在过去几天里神秘地停止了工作。我尝试了部分链接文本的方法,但也失败了。有没有人可以告诉我为什么找不到链接。我在包含此链接的类上使用PageFactory.initElements,

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

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


然而,当我尝试访问注销链接时,我总是得到一个NoTouchElementException。LINK_TEXT方法以前是有效的,在过去几天里神秘地停止了工作。我尝试了部分链接文本的方法,但也失败了。有没有人可以告诉我为什么找不到链接。我在包含此链接的类上使用PageFactory.initElements,其他web元素的定位没有问题。

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

@FindBy(linkText = “Logout”)
部分链接文本

@FindBy(partialLinkText = “Logout”)

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

@FindBy(linkText = “Logout”)
部分链接文本

@FindBy(partialLinkText = “Logout”)

这是硒的缺陷。我输入了一个bug,将在下周某个时候发布一个示例页面和脚本来复制它


这是硒的一种缺陷。我输入了一个bug,将在下周某个时候发布一个示例页面和脚本来复制它


链接文本包含在我试图找到注销链接的网页的html片段中。文本只是“注销”,没有空格或其他特殊字符。今天晚些时候,我将尝试您的替代FindBy注释建议。@FindBy(linkText=“Logout”)和@FindBy(partialLinkText=“Logout”)都找不到元素。我仍然有一个不受影响的例外。唯一有效的方法是XPath,它既脆弱又缓慢。@Selena请检查应该匹配的onclick字符串。没有按钮。它只是下拉菜单中的一个链接:链接文本包含在我试图找到注销链接的网页的html片段中。文本只是“注销”,没有空格或其他特殊字符。今天晚些时候,我将尝试您的替代FindBy注释建议。@FindBy(linkText=“Logout”)和@FindBy(partialLinkText=“Logout”)都找不到元素。我仍然有一个不受影响的例外。唯一有效的方法是XPath,它既脆弱又缓慢。@Selena请检查应该匹配的onclick字符串。没有按钮。它只是下拉菜单中的一个链接: