【问题标题】:Trying to find text on webpage that has no id using C#尝试使用 C# 在没有 id 的网页上查找文本
【发布时间】:2012-01-13 23:37:32
【问题描述】:

我正在尝试在未标有特定 ID 或标签的网页上查找文本。它只是由我无法控制的外部参与者生​​成的纯文本。

无论如何要找到这个?

我可能应该提到我正在使用 WatiN 进行自动化测试,并且想要单击某个文本旁边的按钮(“Ny Linje”)。 我当然可以硬编码按钮 ID,但我想如果这样做,测试最终会失败。

其图形输出如下所示,但有几行(其中 || 表示表格中的一个单元格):

|| [按钮] ||新林杰 ||其他一些内容...

【问题讨论】:

  • 我认为最好使用单击按钮 ID 方法?特别是如果开发此功能的人可以保证您在按钮上使用静态 ID。
  • 你愿意使用像htmlagilitypack.codeplex.com这样的库
  • 这是一个相当大的系统,因此不能保证它会保持静态。我正在为一个 ISP 工作,并且有问题的案例应该检查任何第一个可用的、免费的地址连接。配方不好? -.-

标签: c# asp.net html parsing


【解决方案1】:

如果您使用的是 Watin,并且您知道按钮的文本值,您可以通过它的值(而不是 id)找到一个元素。例如:

    private Button DownloadButton
    {
        get
        {
            return Document.Button(Find.ByValue("Download"));
        }
    }

【讨论】:

    【解决方案2】:

    实际上最终是这样的:

    _ctsLineListSearchGrid.Find(By.Tag("input",15)).Click();
    

    【讨论】:

      【解决方案3】:

      我猜按钮 ID 会比页面上的内容更加静态,我建议使用按钮 ID 并更改它是否因为该按钮被移动而开始失败。

      【讨论】:

        猜你喜欢
        • 2015-01-29
        • 1970-01-01
        • 2023-03-16
        • 2016-09-07
        • 1970-01-01
        • 2013-05-14
        • 2016-04-16
        • 1970-01-01
        • 2022-11-06
        相关资源
        最近更新 更多