2012-01-30 107 views

回答

1

是的,你可以假設它會在瀏覽器加載整個頁面後執行

1

不一定。如果您在撥打get()後使用executeScript()方法,則答案爲「可能」。 WebDriver嘗試阻止對get()的調用,但可能會有JavaScript代碼在onload觸發後仍會運行(請考慮onload事件處理程序中的代碼使用setTimeout()延遲執行的情況),這意味着DOM仍可能仍然被操縱。如果您在點擊導致導航的鏈接後使用executeScript(),則執行將會等到頁面完全加載後才執行,因爲點擊是異步的,並且不能保證WebDriver能夠等待頁面加載。

+0

你知道如何在'window.onload'之前運行'executeScript'嗎?我遇到了無法運行executeScript的問題,因爲使用ajax與服務器通信的網頁非常繁重,它抓住了'executeScript'持續等待並等待... – zixia 2016-05-06 15:10:55

相關問題