Delphi 在多个下拉列表中选择单个项目的备选方案WebBrowser?

Delphi 在多个下拉列表中选择单个项目的备选方案WebBrowser?,delphi,Delphi,在c#中,我使用以下函数 foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("option")) { if (item.InnerText == valano.Text) {

在c#中,我使用以下函数

                     foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("option"))
                        {
                            if (item.InnerText == valano.Text)
                            {
                                item.SetAttribute("SELECTED", "SELECTED");
                            }
                        }
在下面的html中选择一个选项

                  <select id="Suco" name="Suco"><option /><option>14
                  </option><option>15
                  </option><option>16
                  </option><option>17
                  </option><option>18
                  </option><option>19
                  </option><option>20
                  </option><option>21
                  </option><option>22
                  </option><option>23
                  </option><option>24
                  </option><option>25
                  </option></select>

没有效果,为什么?

您的Delphi代码甚至与C#代码做的事情都不一样

下面是C代码的翻译:

或者,尝试以下方法:

var
  ovOptions, ovItem: OleVariant;
  i: Integer;
begin
  ovOptions := WebTesta.OleObject.Document.getElementById('Suco').options;
  for i := 0 to (ovOptions.Length - 1) do
  begin
    ovItem := ovOptions.item(i);
    if ovItem.text = valano.Text then
    begin
      ovItem.selected := True;
      Break;
    end;
  end;
end;
或者这个:

var
  ovSelect, ovOptions: OleVariant;
  i: Integer;
begin
  ovSelect := WebTesta.OleObject.Document.getElementById('Suco');
  ovOptions := ovSelect.options;
  for i := 0 to (ovOptions.Length - 1) do
  begin
    if ovOptions.item(i) = valano.Text then
    begin
      ovSelect.selectedIndex := i;
      Break;
    end;
  end;
end;

欢迎来到堆栈溢出。任务的哪一部分你遇到了麻烦?显示您迄今为止编写的Delphi代码。您的Delphi代码甚至与C#代码所做的事情相差甚远。
var
  ovOptions, ovItem: OleVariant;
  i: Integer;
begin
  ovOptions := WebTesta.OleObject.Document.getElementById('Suco').options;
  for i := 0 to (ovOptions.Length - 1) do
  begin
    ovItem := ovOptions.item(i);
    if ovItem.text = valano.Text then
    begin
      ovItem.selected := True;
      Break;
    end;
  end;
end;
var
  ovSelect, ovOptions: OleVariant;
  i: Integer;
begin
  ovSelect := WebTesta.OleObject.Document.getElementById('Suco');
  ovOptions := ovSelect.options;
  for i := 0 to (ovOptions.Length - 1) do
  begin
    if ovOptions.item(i) = valano.Text then
    begin
      ovSelect.selectedIndex := i;
      Break;
    end;
  end;
end;