-1
我讀到接口WebElement的方法點擊信息,但並不清楚明白什麼意思這樣的說法:「如果點擊()會導致一個新的頁面,通過一個事件被加載或通過發送一個本地事件做」?什麼意思是通過事件加載新頁面還是通過發送本地事件完成?
我讀到接口WebElement的方法點擊信息,但並不清楚明白什麼意思這樣的說法:「如果點擊()會導致一個新的頁面,通過一個事件被加載或通過發送一個本地事件做」?什麼意思是通過事件加載新頁面還是通過發送本地事件完成?
以下是完整的javadoc的:
點擊這個元素。如果這導致加載新頁面,則此方法 將嘗試阻止,直到加載頁面。此時,您應丟棄對此元素的所有引用,並且對此元素執行的任何其他操作都將拋出 StaleElementReferenceException,除非您知道該元素和 頁面仍將存在。如果點擊()導致新頁面通過事件加載 或通過發送本地事件完成,則方法將 而不是等待它被加載並且調用者應該驗證是否已加載新頁面。
這意味着如果在瀏覽器中發出新的請求,click()是阻塞調用。並在頁面加載時返回。
點擊()不是阻塞調用時,它執行一些JavaScript加載新的頁面(或部分)(阿賈克斯)。在這種情況下,您必須使用WebDriverWait並等待一些css-classes/id/text出現。
或者一個隱含的等待,如果它足夠好。 – 2012-07-13 14:04:22