【问题标题】:C# Gecko Select a Specific ListBox or ComboBoxC# Gecko 选择特定的列表框或组合框
【发布时间】:2017-02-11 08:41:27
【问题描述】:

我使用壁虎浏览器,我需要选择一个特定的列表框或组合框,但同一页面有多个列表框和组合框。我尝试以下方法,但它适用于所有人。而且没有id标签,只有名字标签。

    GeckoElementCollection ListeBoxKomboBox = Tarayıcı.Document.GetElementsByTagName("option");
    foreach (GeckoHtmlElement Element in ListeBoxKomboBox)
    {
        if (Element.GetAttribute("value") == "1")
        {
            Element.SetAttribute("selected", "selected");
        }
        if (Element.GetAttribute("value") == "2")
        {
            Element.SetAttribute("selected", "selected");
        }
    }

我不希望您在其他框中选择具有相同值的项目。壁虎可以使用this like 解决方案吗?

【问题讨论】:

    标签: c# gecko geckofx


    【解决方案1】:

    我注意到有一个标签标签('Turu' 或其他东西:))。

    因此,您可以通过以下方式确定哪个选择框是正确的:

    1. 选择具有第一个子元素且内容为“Turu”的 LI 元素
    2. 然后选择 LI 元素内的“组合框”

    还要注意,这段代码并不正确:

    GeckoElementCollection ListeBoxKomboBox = Tarayıcı.Document.GetElementsByTagName("option");
    

    您将在页面上的所有组合框中获得所有选项的集合。因此,组合框实际上是option 元素(select 元素)的父元素。

    另外,选项标签是 GeckoOptionElements(可以安全地转换), 所以你可以这样做:

    var optionElements= selectBox.GetElementsByTagName("option");
                foreach (GeckoOptionElement optionElement in optionElements)
                {
                    if (optionElement.Value == "Foo")
                    {
                        optionElement.Selected = true;
                    }
                }
    

    最后 - 是的,您链接中的解决方案在 Gecko 中是可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 2019-05-09
      相关资源
      最近更新 更多