如何使用java检查Webdriver中是否启用了链接?

如何使用java检查Webdriver中是否启用了链接?,java,webdriver,selenium-webdriver,Java,Webdriver,Selenium Webdriver,我在这里发布这个问题之前已经搜索了论坛。我已经找到了一些答案,但我无法从中获得成功。我的问题是 如何使用java检查Webdriver中启用的链接。请查找附加的屏幕截图 我已经为此编写了代码: WebElement textlink = driver.findElement(By.id(OR.getProperty("lnkView_ID"))); if (textlink.isEnabled()) System.out.println("View link: Enabled"); e

我在这里发布这个问题之前已经搜索了论坛。我已经找到了一些答案,但我无法从中获得成功。我的问题是

如何使用java检查Webdriver中启用的链接。请查找附加的屏幕截图

我已经为此编写了代码:

WebElement textlink = driver.findElement(By.id(OR.getProperty("lnkView_ID")));
if (textlink.isEnabled())
   System.out.println("View link: Enabled");
else
   System.out.println("View link: Disabled");
请帮我解决这个问题。感谢您的帮助。

请尝试以下操作:

String isDisabled = textlink.getAttribute("disabled");
if (isDisabled==null || !isDisabled.equals("disabled")){
   System.out.println("View link: Enabled");
}else{
   System.out.println("View link: Disabled");
}

属性“disabled”似乎是它是否被启用的切换,因此您可以使用
getAttribute()检查它

检查标记中禁用的属性。由于“查看”链接被禁用,您可以从HTML中找到它由disabled=“disabled”表示。在XPath中为或使用Id标识符编写标识符,如下所示,使用disabled的属性值查找链接状态

string viewLinkXpath = "//tobody/tr/td/a";
IWebElement viewLinkElement = driver.FindElement(By.XPath(viewLinkXpath));
if(viewLinkElement.GetAttribute("disabled")!="disabled")
{
   Console.WriteLine("View link enabled");
}

请提供属性名称作为
getAttribute
的输入,而不是提供属性值。例如:

WebElement test=d.findElement(By.xpath(ORNsk.prevXpath));
String isDisabled=test.getAttribute("class");

这里
class
是属性名。

报告的错误是什么?另外,用于定位链接的实际定位器是什么?你也能提一下吗?我建议你仔细检查一下你使用的身份证。它绝对是独一无二的和永恒的;它不会在每次加载页面或刷新操作列表时更改,是吗?还有,你的剧本中有没有预设?除此之外,你的代码看起来好像在做正确的事情。谢谢你的回复。我没有得到任何错误,但它的打印启用消息,即使它是禁用的。我正在使用ID属性查找链接。id=ctl00\u主占位符\u grdapplant\u ctl02\u lnkViewIn添加新行时,编号ctl02上的id属性将发生更改。但我希望它与ctl00\u MasterPlaceHolder\u grdapplant\u ctl02\u lnkView位于同一行。因为,每次运行时,我都会为不同的用户创建新的申请者。因此,id属性对于所有对象都是相同的。