定位HTML标签

本文关键字:标签 HTML 定位 | 更新日期: 2023-09-27 17:53:58

我正在尝试自动测试web表单。为此,我需要知道如何使用c#在HTML页面中动态定位输入标记,然后为它们赋值。我不想使用XPath,因为每次我都将使用不同的web表单。我想把web表单的URL传递给Selenium,然后自动填充字段。我听说过htmllagilitypack。这对我有帮助吗?如果有,我该如何使用它?

感谢你的帮助。

定位HTML标签

我可能错过了你问题的关键部分,但是,你看过Selenium WebDriver吗?

如果你写一个测试来处理一个通用的web表单,你可以用动态的数据来支持你的测试。因此,您可以通过使用数据驱动测试来满足页面中的更改。我已经为许多页面编写了测试,并且总是有共同的动作,但是我以不同的方式满足每个页面,尽管每个页面上有不同的东西!

[编辑]
根据您的评论,我认为研究Selenium将是一个好主意。处理不同页面的方法是在每个页面的"定义"类中准备好这些元素定义。这样,一旦知道了页面是什么,就可以为定义使用正确的类。在测试运行之前,最好知道您将在测试中与哪些元素交互。自动化UI测试的重点是要执行一组已知的操作,并获得正确的结果。

我建议你看一些教程,比如这个,你可以看看我的博客虽然我是在最初学习WatiN时写的,然后用Selenium代替了它(我更喜欢它:P)。

Html Agility Pack

这是一个敏捷的HTML解析器,它构建一个读/写DOM并支持纯XPATH或XSLT(实际上也不需要理解XPATH)XSLT来使用它,不用担心…)。它是一个。net代码库,允许解析"来自web"的HTML文件。解析器是非常宽容的使用"真实世界"的畸形HTML。对象模型非常类似于什么建议System.Xml,但用于HTML文档(或流)。

HtmlDocument doc = new HtmlDocument();
doc.Load(path);
foreach (HtmlNode input in doc.DocumentNode.SelectNodes("//input"))
    // Your Code...