使用 ID 或类名查找 HTML属性
本文关键字:查找 HTML 属性 ID 使用 | 更新日期: 2023-09-27 17:57:34
我有这个html代码
按钮类="btn btn-primary pull-right" type="submit" id="btnBuildAllSubmit" disabled="disabled">Support
我目前正在使用FindElement,但我无法获取该属性。我想搜索页面并确保显示禁用的属性。我该怎么做?
谢谢
看起来这应该有效:
IWebElement element = driver.FindElement(By.Id("btnBuildAllSubmit"));
string disabledAttributeValue = element.GetAttribute("disabled");
if(disabledAttributeValue == null)
{
// The disabled attribute is not present
}
根据代码:
https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs#L367
如果属性只是<h1 disabled></h1>
,驱动程序将返回 disabled
作为值,否则,如果不存在,它将返回 null
,如果设置了值,则返回 disabled
的值。
为什么不使用 XPath Navigation?
// create an XPathDocument object
XPathDocument document = new XPathDocument(yourStreamInstance);
// create a navigator for the xpath doc
XPathNavigator xNav = xmlPathDoc.CreateNavigator();
//run the XPath query
XPathNodeIterator xPathIt = p_xPathNav.Select("//button[@disabled]");
//use the XPathNodeIterator to display the results
if (xPathIt.Count > 0)
{
xPathIt.MoveNext();
Console.WriteLine(xPathIt.Current.Value);
}
else
{
Console.WriteLine("No disabled attribute");
}