Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 在webform中按文本选择选项_Powershell_Drop Down Menu_Webforms_Powershell 2.0 - Fatal编程技术网

Powershell 在webform中按文本选择选项

Powershell 在webform中按文本选择选项,powershell,drop-down-menu,webforms,powershell-2.0,Powershell,Drop Down Menu,Webforms,Powershell 2.0,我正在使用powershell完成webform。我在那里有下拉列表,可以按值选择: $dropdown.value = '3236' 它的作品很好,但我需要选择的文字。我阅读并尝试了以下代码: ($dropdown | where {$_.innerHTML -eq "sometext"}).Selected = $true 它也可以工作,但因为下拉菜单有太多的选项(可能几千个),所以需要几分钟来选择,这是不可接受的 我该如何改进这一点 顺便说一句,我使用的是powershell 2.0。

我正在使用powershell完成webform。我在那里有下拉列表,可以按值选择:

$dropdown.value = '3236'
它的作品很好,但我需要选择的文字。我阅读并尝试了以下代码:

($dropdown | where {$_.innerHTML -eq "sometext"}).Selected = $true
它也可以工作,但因为下拉菜单有太多的选项(可能几千个),所以需要几分钟来选择,这是不可接受的

我该如何改进这一点


顺便说一句,我使用的是powershell 2.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'

也许我完全错了,因为我还不知道怎么做,但我在寻找其他目的:你应该能够使用Lucene.NET()解析你的值,对吗?我应该使用我的.NET应用程序的许可证吗?不幸的是,我只能在这里使用Powershell。也许我可以使用Powershell映射值和文本?我绝对是Powershell的初学者,只是刚刚接触了.NET基础知识的皮毛,但如果我做对了,你应该能够在PS中使用大部分(如果不是全部的话)的.NET库。所以,再次从理论上说,因为我仍在努力解决这个问题,您可以在lucene库中加载您的innerHTML代码,以对其进行解析以获得您要查找的值。