我在寫一個測試gmail功能的簡單程序,這包括髮送電子郵件。Selenium等到發送郵件
我有程序發送一封電子郵件,一旦確認它已發送,它就會註銷。
我不想註銷,而只有在完成後纔會發送消息。
所以,如果你有gmail,當你發送一條消息時,你會在收件箱上方看到一條「你的消息已發送,查看消息」的小通知。
該cssSelector是div.vh.
所以我希望我的程序等到彈出窗口才能註銷。
但有時會在因Internet速度而出現消息之前退出。
這裏是我的代碼:
WebElement element = (new WebDriverWait(driver,10)).until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("div.vh")));
爲什麼不等待超過10秒? – satnam
像使用Thread.sleep(10000)強制等待真的不是最佳的;只要需要,我應該等待。 – Viratan
我認爲@satnam的含義是你在'WebDriverWait'中使用了10秒的默認超時時間,如果發送消息需要更多的時間,那麼它將在10秒後停止等待。那麼爲什麼你不使用更長的默認超時? – RealSkeptic