Я работаю с Selenium, чтобы управлять сайтом, который использует Dojo. Поскольку сетка Dojo на сайте использует ленивую загрузку, моей тестовой структуре сложно узнать, закончилась ли/когда сетка закончила загрузку. Тем не менее, Selenium действительно позволяет вам вводить Javascript. Есть ли способ опросить DOM или напрямую использовать js, чтобы узнать, закончила ли сетка загрузка?Как определить, закончилась ли сетка додзе?
2
A
ответ
0
dojox.grid.DataGrid имеет внутренний флаг, который получает набор в _onFetchComplete, так что вы можете попробовать
var grid = ...
if (grid._isLoaded) {
...
}
0
Я нашел этот вопрос, потому что я искал то же самое. Самое близкое, что я могу получить, - это подождать, пока сообщение загрузки Доджо исчезнет (если сетка загружается быстро, это трудно понять). Вот что я сейчас использую:
/** Required imports **/
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.By;
/** Code snippet **/
WebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, /* Max wait time */ 30);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector(".dojoxGridLoading"));
Это меня очень близко.
1
Вот отличный ответ, который я нашел:
grid.connect(grid, '_onFetchComplete', function(){
for(var i in grid._pending_requests){
if(grid._pending_requests[i]){
return; //no, something's not loaded yet.
}
}
//okay, nothing is on the fly now.
});
http://dojo.6188.n7.nabble.com/function-when-the-dataGrid-is-ready-td37563.html
0
Это решение с использованием не внутреннее событие "onStyleRow":
// Declare myGridLoaded
var myGridLoaded = false;
...
...
// Connect onStyleRow:
dojo.connect(grid, "onStyleRow", grid, function(row) {
if(!myGridLoaded) {
doYourStuff();
// Make sure it runs only once:
myGridLoaded = true;
}
});
// Now set your store and the handler will run only once
// when the first row is styled - if any:
grid.setStore(store);
Смежные вопросы
- 1. Как определить, когда прокрутка scrollviewer закончилась?
- 2. Как определить, закончилась ли работа пользовательского интерфейса WPF
- 3. Как проверить, закончилась ли линия?
- 4. Проверьте, закончилась ли анимация?
- 5. Определить, видна ли сетка во всплывающей панели
- 6. API Google Диска - определить, закончилась ли обработка видеофайла
- 7. Додзе: как улучшить диджит?
- 8. MPMusicPlayerControllerPlaybackStateDidChangeNotification определяет, закончилась ли песня
- 9. Проверьте, закончилась ли NSString строкой
- 10. Как определить, является ли треугольная сетка вогнутой или нет?
- 11. Как узнать, закончилась ли заготовка заготовкой
- 12. Как узнать, закончилась ли строка RegularExpresion javascript
- 13. PHP, как проверить, закончилась ли загрузка файла
- 14. Как операционная система понимает, закончилась ли нить?
- 15. Как проверить, закончилась ли нить в Rust?
- 16. Определите, закончилась ли печать с использованием Java
- 17. Как создать собственный виджет таблицы в додзе?
- 18. Как найти, закончилась ли браузерная загрузка веб-страницы
- 19. Может ли предопределенное событие быть изменено додзе?
- 20. Как проверить, закончилась ли сессия Liferay в Javascript?
- 21. Можно ли отключить анимацию паука-диаграммы додзе?
- 22. Как узнать, закончилась ли задача речевой речи в swift
- 23. Додзе: Есть ли событие после завершения перетаскивания
- 24. Единичный тест в додзе
- 25. фильтр сетки в додзе
- 26. Как узнать, когда закончилась загрузка?
- 27. Кордова: Есть ли способ определить, закончилась ли голосовая дикция на iOS
- 28. JavaScript - Unity Проверьте, закончилась ли анимация
- 29. Додзе: программирование метки CheckBox
- 30. Изнутри iframe, как я могу определить, закончилась ли родительская страница загрузки?