Итак, я пытаюсь сделать преобразование в Selenium 2, но у меня, похоже, проблема, если я перехожу на http://website.com, Selenium can not find the elements моей формы aspx. Мне нужно, чтобы Selenium перешел непосредственно на http://website.com/form.aspx. Это не ужасно, потому что я могу убедиться, что формы работают, но в идеале я хотел бы, чтобы он заполнил все с точки зрения пользователей. У кого-нибудь еще была эта проблема?Selenium 2 can not find element ID, если я не перейду непосредственно к файлу .aspx
ответ
Кажется, что есть перенаправление с главной страницы по умолчанию на form.aspx на вашем сайте. Я думаю, что WebDriver ловит завершение загрузки главной страницы, которая затем перенаправляется на форму, но WebDriver не поймает это.
Я думаю, что вы можете либо ввести задержку перед началом нахождения элементов, или вы можете использовать PageFactory с AjaxElementLocatorFactory, который позволит вашему водителю ждать, пока управление не будет действительно появляются, но я не уверен, если он доступен для C#
У меня тоже была эта проблема, это связано с перенаправлением и что команда waitFor * не очень хорошо работает с переадресацией. Он никогда не доживет до 2 страниц (это то, что нам нужно здесь), но если вы положите 2 ожидания друг на друга (теоретически это правильно), часто второй будет висеть. Это похоже на какое-то состояние гонки, так как оно непредсказуемо, в 90% случаев оно, кажется, висит, хотя
Так что я сделал, просто вращался в цикле, пока не увидел какой-то сигнал на странице после перенаправления, что я ожидал увидеть. У вас может быть сигнал, которым вы также хотите управлять самим тестом. Мое решение, короткий блок Perl, который я уверен, вы можете перевести на C#:
$sel->open('/some/page/that/will/redirect/us');
$sel->wait_for_page_to_load("30000"); #wait for the redirect to hit
do {
$sel->pause(50); #now spin while we're in no-mans land
#until you spot what you need:
last if $sel->is_text_present('This is the Real Home Page');
} while(1);
#carry on.... redirect is completed and page is loaded
счастливый бонус в том, что журнал истории команд подсчитывает миллисекунды на «Same команде (99 мс): xyz ", поскольку он вращается, позволяя вам знать, что все живое и здоровое, в то время как перенаправление берет курс.
- 1. Selenium can not find element? (автоматическое веб-приложение)
- 2. Selenium webdriver can not find text field element
- 3. Robot Framework can not find element
- 4. Selenium not finidng element id
- 5. Selenium find button element
- 6. Behat/Mink - can not find element by xpath with goutteDriver
- 7. OnClick can not find sub я звоню
- 8. WWW :: Selenium 'cant find element'
- 9. Selenium - can not get text from span element
- 10. Selenium Element Не найден, даже если Selenium заполняет id
- 11. proguard can not find javax.servlet
- 12. can not find ruby iDE
- 13. Java Selenium find element (xpath)
- 14. Grunt can not find tasks
- 15. Heroku Can not Find View
- 16. jquery: firefox can not find id tag, но сафари могут?
- 17. Element not clickable selenium C#
- 18. JQuery can not find динамически созданный элемент
- 19. Web API can not find apicontroller
- 20. Python can not find Синтаксическая ошибка
- 21. gwt plugin can not find user-jar
- 22. Selenium Find Sub-Child href Element
- 23. Job Scheduler can not find job/service?
- 24. Spark Read.json can not find file
- 25. php array_slice can not find array
- 26. Angular $ compile can not find директива
- 27. MyBatis can not find my classes - ClassNotFoundException
- 28. Sharepoint Framework can not find module
- 29. Applets Jar can not find resource
- 30. Selenium IDE 1.5.0 "Element ... Not found" error