2016-03-15 93 views
0

我敢肯定,你會遇到你需要等待一個網站的加載,而你使用等待元素

While ($browser.Busy -or $browser.ReadyState -ne 4) { 
    Start-Sleep -Milliseconds 1000 
} 

或相似。但是,儘管滿足這些條件,頁面仍會加載很多次。我如何等待getElementsByClassName()找到的特定元素被加載?如果它不在那裏,我得到一個錯誤,我無法檢查它是否爲-eq $null,因爲我無法引用它。我需要類似於Test-Path的東西。

回答

0

管元素給一個變量,然後對變量做類似下面

while (($elementVariable -match "element") -eq False) 
{ 
Do Stuff 
} 
+0

我直接叫Select-Object -First 1,這是不是最好的主意然後... –

+0

對不起解釋一下嗎?這有點晚了,我不知道我明白:') –

+0

恐怕我們仍然缺乏一些東西。如果我做&a =&browser.Document.Body.getElementsByClassName(「b」),並且該元素尚未加載,則會出現錯誤。 –