2009-02-27 33 views
2

IE üzerinden Powershell'i işlemek hakkında soru sormak istiyorum.IE Windows PowerShell ile Otomasyon

: Bu küçük şey

- (vb tepkiler arasındaki süreyi ölçmek, eylemleri gerçekleştirmek, sayfaya gidin istemci tarafında) Amacım otomatik tarayıcıda bazı işlemleri gerçekleştirir senaryo yazmaya olduğunu

$ie = new-object -com "InternetExplorer.Application" 
$ie.visible = $true 
$ie.navigate("http://google.com") 

Şimdi, tarayıcının sayfa oluşturmayı durdurup durmadığını kontrol etmek istiyorum (google'un yüklenmesinin 30 saniye sürdüğü varsayılarak). $ie | get-member ile kontrol ettiğim gibi DocumentCompleted özelliği (olayı) var, ancak nasıl erişeceğimi/karşılaştıracağımı bilmiyorum. Bunu nasıl yapmalıyım?

Veya .NET yerine COM nesnesini kullanmalı ve $ie'u [system.Windows.Forms.WebBrowser] ile başlatmalı mıyım?

şerefe

düzenleme:
Eh ... $ie.busy çalışır, ancak ben sayfa oluşturma rekabetin anı bilmek istiyorum (belki daha önce açıkça değil ne). Her saniyede sonsuz döngüde $ie.busy'un kontrol edilmesi işe yarayabilir ama bunun en iyi yol olmadığını düşünüyorum.

Sayfa biraz zaman yüklediğini varsayalım (istemci tarafında devasa betikler nedeniyle render uzunluğundadır). Bunun ne kadar sürer istiyorum için:

  1. yük sayfasına o yeniden/bazı verileri değiştirme ve 'Kaydet' i tıklayarak sonrası işlemek yeniden ne kadar süreceğini
  2. .
+0

Tam kaynak kodu ile herhangi bir çözüm? – Kiquenet

cevap

1

.busy özelliğini kontrol edebilirsiniz.

düzenleme:

Durum özelliği de burada çalışacak. Ancak sayfa yükleme süresini görmek için Firebug gibi bir araç kullanabilirsiniz.

+0

Şimdilik, Jason tarafından önerilen PS Even Library'nin göz atmaya değer bir şey olmasına rağmen .busy ile yapışacağım. Firebug, yaklaşık 1000 kez sayfa yüklemek ve ortalama yükleme süresini görmek istediğim için durum böyle değil. – yoosiba

1

PowerShell yerine .NET kullanmaya karar verirseniz, WatiN bunun için mükemmeldir. WebBrowser denetimi üzerinde size çok fazla esneklik kazandıracak ve kullanımı çok daha kolay. Ayrıca Firefox'u 2. versiyonda da sürdürebilirsiniz.

+0

WatiN, WatiN'nin STA –

+0

'a ihtiyaç duyduğu gibi WatiN ile kullanmanız gerekecek. (Sadece eğlenmek için) C# ile WatiN kullandım ve harikaydı. Bu ipucu için teşekkürler! – yoosiba

+0

Tam kaynak kodu ile herhangi bir çözüm? – Kiquenet