Internet explorer 使用Windows PowerShell实现IE自动化

Internet explorer 使用Windows PowerShell实现IE自动化,internet-explorer,powershell,automation,scripting,Internet Explorer,Powershell,Automation,Scripting,我想问一下如何通过Powershell操纵IE。 我的目标是编写脚本,在浏览器中自动执行某些操作(在客户端–导航到页面、执行操作、测量响应之间的时间等) 我有一件小事: $ie = new-object -com "InternetExplorer.Application" $ie.visible = $true $ie.navigate("http://google.com") 现在,我想检查浏览器是否停止了页面呈现(假设google加载大约需要30秒)。 当我使用$ie | get mem

我想问一下如何通过Powershell操纵IE。 我的目标是编写脚本,在浏览器中自动执行某些操作(在客户端–导航到页面、执行操作、测量响应之间的时间等)

我有一件小事:

$ie = new-object -com "InternetExplorer.Application"
$ie.visible = $true
$ie.navigate("http://google.com")
现在,我想检查浏览器是否停止了页面呈现(假设google加载大约需要30秒)。 当我使用
$ie | get member
检查时,有DocumentCompleted属性(事件),但我不知道如何访问/比较它。 我该怎么做

或者我应该使用.NET而不是COM对象,并使用
[system.Windows.Forms.WebBrowser]
启动
$ie

干杯

编辑:
$ie.busy
有效,但(可能我之前并没有说清楚)我想知道页面呈现竞争的确切时刻。在无限循环中每秒检查
$ie.busy
可能会起作用,但我认为这不是最好的方法

假设页面加载了一段时间(由于客户端有大量脚本,所以呈现时间很长)。我想知道需要多长时间:

  • 加载页
  • 更改某些数据并单击“保存”后重新加载/重新渲染所需的时间

  • 你可以查一下。繁忙的酒店

    编辑:


    Status属性也将在这里工作。不过,您可以使用Firebug之类的工具查看页面加载时间。

    如果您决定使用.NET而不是PowerShell,这是非常好的选择。与WebBrowser控件相比,它将给您带来巨大的灵活性,而且使用起来更容易。您现在也可以在版本2中驱动Firefox。

    因为它有一个事件,所以您可以尝试。它说它支持COM事件,但我还没有尝试过。

    您必须将Powershell V2与WatiN一起使用,因为WatiN需要STALater(只是为了好玩)。我将WatiN与C#一起使用,这非常棒。谢谢你的提示!现在我将坚持使用。忙碌,尽管詹森提出的PS甚至图书馆是值得研究的。Firebug不是这样,因为我想加载页面大约1000次,并查看平均加载时间。有完整源代码的解决方案吗?