c# - 使用 C# WATIN,如何获取 INPUT 标记 html 元素的值?

标签 c# unit-testing watin

使用 C# WATIN,如何获取页面上 INPUT 标记 html 元素第二次出现的值?

我尝试了很多东西,但都没有成功。调试器没有给我任何明显的方法来从返回的 4 个元素中获取元素 [1]。

Console.WriteLine(ie.Element(Find.ByClass("myclass")).GetAttributeValue("value")  ) ;  
// works but prints the value of the 1st of 4 input elements on the page

Console.WriteLine(ie.ElementsWithTag("input", "text").Length.ToString()  ); 
// returns the number 4

Console.WriteLine( ie.Element(Find.ByName("login")).GetAttributeValue("value")  );
// works but its not safe since its possible there might be two elements with the name login

基本上,我希望能够通过其数组索引 选择输入元素。

最佳答案

这可以帮助:

        ElementCollection elementCol = ie.Elements;
        elementCol = elementCol.Filter(Find.ByClass("myclass"));
        string value = elemntCol[1].GetAttributeValue("value");

关于c# - 使用 C# WATIN,如何获取 INPUT 标记 html 元素的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2978243/

相关文章:

c# - 在特定行读取文本文件

java - Java 和 .Net 4.6 为同一 key 生成不同的 JSON Web 加密 (JWE) token

c# - 如何在 Visual Studio 编辑器中的特定行/列/长度上创建标签?

c# - 使用 WPF 和 Caliburn.Micro 在一个 View 中添加多个 View

c# - Jon Skeet 的 "TimeMachine"异步单元测试框架是否需要 ManuallyPumpedSynchronizationContext?

unit-testing - 在单个单元测试失败时失败 TFS 构建

java - 测试具有方法依赖性的 util 类

c# - 当多个输入具有相同的 "Name"时,如何使用 WatiN 填充特定输入字段?

nunit - 使用 Nunit 计时问题进行 Watin 单元测试