Powershell web scraping IE下拉不更新值

时间:2017-06-07 14:47:58

标签: html powershell internet-explorer scripting screen-scraping

我目前正在尝试在PowerShell中开发一个打开Internet Explorer的脚本,更改两个下拉值(更新表值),然后将表格刮到CSV文件中。

顺便说一下,该网站有一个静态网址,更改下拉菜单不会更改网址:(

我可以让IE打开并更改两个下拉值,但是在此之后表格没有更新它的值... 我认为它与站点代码有关,它显示了此下拉列表的选项:

<select id="pricing-display-by-dropdown" 
onchange="$('html').trigger('rate.changed', this.value)">
 <option value="hour">Hour</option>
 <option value="month">Month</option>
</select>

所以我到目前为止基本上都是这样,它会改变区域和定价,但是不会更新表格,也许必须以某种方式触发触发器?:

$url = "https://azure.microsoft.com/en-us/pricing/details/sql-database/" 
$ie = New-Object -com internetexplorer.application; 
$ie.visible = $true; 
$ie.navigate($url); 
while ($ie.Busy() -and $ie.ReadyState -ne 4){ sleep -Milliseconds 6000 }

$ie.Document.IHTMLDocument3_getElementByID("region-selector").value = "europe-north"

$ie.Document.IHTMLDocument3_getElementByID("pricing-display-by-dropdown").value = "month"

任何帮助都会非常感激,我是PowerShell的新手,还有stackoverflow,所以原谅任何愚蠢的东西

1 个答案:

答案 0 :(得分:0)

你去吧

$ie.Document.IHTMLDocument3_getElementByID("pricing-display-by-dropdown").fireEvent("onchange")