我在写一个测试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