2016-03-15 95 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”),并且该元素尚未加载,则会出现错误。 –