我使用PowerShell来完成webform。我有下拉列表,可以按值选择:
$dropdown.value = '3236'
它工作正常,但我需要通过文字选择。我看了this answer并尝试了这段代码:
($dropdown | where {$_.innerHTML -eq "sometext"}).Selected = $true
它也有效,但由于下拉有太多选项(可能有几千个),所以选择需要几分钟,这是不可接受的。
我该如何改善这个?
不过,我使用的是powershell 2.0答案 0 :(得分:0)
好的,我找到了解决方案,也许它并不完美,但我的性能提高了数百倍,而不是几分钟就需要不到秒。
我创建了以下功能:
function getValue($innerHTML, $Name)
{
$innerHTML = $innerHTML.Substring($innerHTML.IndexOf($Name) - 11, 10)
return $innerHTML.Substring($innerHTML.IndexOf('=') + 1)
}
函数将下拉列表的innerHTML作为字符串,搜索选项名称并返回值。
并按以下方式使用功能:
$drop.Value = getValue $drop.innerHTML 'somename'