Selenium C# - 如何获取没有值属性的禁用文本字段的值

时间:2017-07-31 10:52:00

标签: c# selenium

我有一个输入类型文本被禁用且没有值属性。

<div class="col-md-4">
    <!-- ko if: HierarchyId() != SystemHierarchy.Store -->
    <input type="text" class="form-control" data-bind="disable: HierarchyId() == SystemHierarchy.Enterprise || IsAccessible() === false, value: ShortName" disabled="">
    <!-- /ko -->
    <!-- ko if: HierarchyId() == SystemHierarchy.Store --><!-- /ko -->
</div>

在用户界面上,此输入字段具有默认的禁用值,例如&#39; 429&#39;。我需要这个值429但由于其中没有值属性而无法获取。

1 个答案:

答案 0 :(得分:0)

我认为您的HTML使用Knockout JS来绑定值。您可以使用元素的Xpath找到元素文本。

driver.findElement(By.xpath("//input[contains(@class, 'form-control') and contains(@data-bind, 'disable: HierarchyId')]")]").Text;

注意:我尝试使用元素的最近xpath。您可能需要尝试这样做,并根据需要更改Xpath。

另请参阅 - http://geekswithblogs.net/Aligned/archive/2014/07/09/use-selenium-to-find-elements-by-knockoutrsquos-data-bind.aspx Find Elements by data-bind [Findsby] https://sqa.stackexchange.com/questions/10342/how-to-find-element-using-contains-in-xpath