【问题标题】:PowerShell Internet Explorer Com Object Select Class Drop Down Menu ItemPowerShell Internet Explorer Com 对象选择类下拉菜单项
【发布时间】:2015-11-08 18:20:36
【问题描述】:

我正在尝试从下面 HTML 的下拉菜单中选择一个项目。

<select class="select" name="expiration">
<option value="N" selected="selected">Never</option>
<option value="10M">10 Minutes</option>
<option value="1H">1 Hour</option>
<option value="1D">1 Day</option>
<option value="1W">1 Week</option>
<option value="2W">2 Weeks</option>
<option value="1M">1 Month</option>

这是我当前的代码。我没有收到任何错误,只是项目没有被选中。

# Code to select menu item
$ie = New-Object -comobject InternetExplorer.Application 
$ie.visible = $False

# navigate to URL
$ie.navigate('http://URL')
while ($ie.Busy -eq $true) { Start-Sleep -Milliseconds 1000; }

$expiration = $ie.Document.getElementsByClassName('expiration')
$expiration.outerText |Select-Object -Index 2
$ie.Document.getElementById('submit').Click()
Start-Sleep -Milliseconds 1000
$result = $ie.LocationURL

【问题讨论】:

  • 你尝试过 - $expiration.Options.SelectedIndex = 2 吗?
  • 是的,在此对象上找不到属性“SelectedIndex”。验证该属性是否存在并且可以设置。
  • $expiration = $ie.Document.getElementsByClassName('expiration') 这一行之后$expiration 的值是多少? select 元素上的 classselect 而不是 expiration。此外,我认为您不能使用 PO 的Select 在网页上的列表中选择一个元素,它只会过滤您通过管道发送的内容,而不是在网页上执行操作

标签: internet-explorer powershell


【解决方案1】:

试试这个:

$ie = New-Object -ComObject InternetExplorer.Application 
$ie.Visible = $False
$ie.navigate("http://URL")
while ($ie.Busy) { Start-Sleep -Milliseconds 1000 }

$expiration = $ie.Document.getElementsByClassName("select")
$expiration.Options.SelectedIndex = 2
$ie.Document.getElementById("submit").Click()
Start-Sleep -Milliseconds 1000
$result = $ie.LocationURL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 2014-08-22
    • 1970-01-01
    相关资源
    最近更新 更多