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