gpt4 book ai didi

C# Gecko 选择特定的列表框或组合框

转载 作者:行者123 更新时间:2023-11-30 16:45:25 24 4
gpt4 key购买 nike

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

enter image description here

    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");
}
}

我不希望你在其他箱子里挑选具有相同值(value)的元素。是this like gecko 可用的解决方案?

最佳答案

我注意到有一个标签标签('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 中是可行的。

关于C# Gecko 选择特定的列表框或组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42173941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com