在我的腳本中添加了約會,並且約會之後被保存在屏幕的頂部,工具提示顯示爲「已成功保存」文本。我聲稱這個文本,我嘗試了Thread.sleep(3000);
,但我的腳本有時並不是所有的時候都成功了。現在我想使用這個工具提示元素的webdriverwait,這個工具提示元素目前不在DOM中,但是當約會被保存時它會出現一次。我想使用webdriverwait來處理DOM中當前不存在的元素
0
A
回答
0
您可以使用WebDriverWait類,例如。
new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(locator));
這只是一個例子。欲瞭解更多信息,請看看在http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/ui/WebDriverWait.html
0
你可以使用WebDriverWait這是硒的標準的方式來「等待」一些事情發生,比如標題更改爲一個特定的文本,一個元素消失了,等等。
爲了您的具體情況,我通常會定義下面的方法來檢測一個標記包含在文檔主體特定文本是否存在:
private static true IsElementExistsWithText(string text, string tagName, IWebDriver driver)
{
try
{
var result = driver.FindElement(By.CssSelector(string.Format("{0}:contains(\"{1}\")", tagName, text)));
return true;
}
catch (Exception ex)
{
return false;
}
}
在我的代碼
然後:
new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until((d) => { return IsElementExistsWithText("Saved Successfully", "span", driver); });
相關問題
- 1. 使用PhantomJS處理DOM元素
- 2. 引用內部事件處理函數中的當前DOM元素(pickadate.js)
- 3. 使用jQuery來緩存DOM元素
- 4. 如何處理DOM元素?
- 5. WebDriverWait。快速檢查元素存在或不存在
- 6. 爲什麼在創建DOM元素時不存在DOM元素?
- 7. 我想要使用Webdriver處理選擇元素
- 8. 在當前元素之後選擇下一個DOM元素
- 9. 處理 - 從當前像素
- 10. 如何處理只滾動DOM DOM元素而不是body元素?
- 11. 使用CSS預處理器來引用元素中存在的類
- 12. 使用簡單的HTML獲取當前元素DOM
- 13. 如何在JQuery中不使用元素ID來遍歷DOM樹?
- 14. jQuery - 當DOM元素不在同一棵樹中時,選擇與一個類匹配的前一個DOM元素
- 15. 每10秒處理DOM元素
- 16. 在將其附加到AngularJS中的DOM之前預處理每個HTML元素
- 17. 處理未使用DOM加載的元素
- 18. XSLT轉換使用多個子元素來處理父元素
- 19. 傳遞當前DOM元素時是否需要使用ref?
- 20. 不變違規:目標容器不是一個DOM元素,當元素在DOM
- 21. 我想找到它的父元素中的當前元素的計數使用XSLT
- 22. wrapInner不會添加子元素來包裝DOM中的元素
- 23. 使用DOM元素
- 24. 當我創建新的DOM元素時ng-model不起作用
- 25. 如何使用Flux處理狀態化DOM元素
- 26. 如何處理多個DOM元素與iScroll(同時使用jQTouch)
- 27. jQuery的不當DOM元素被替換
- 28. 如何在riotjs中選擇當前標籤作爲DOM元素
- 29. 如何在WebBrowser元素取消或處理當前導航
- 30. 如何使用backbone.js緩存DOM元素?