所以我試圖做出轉換到Selenium 2,但我似乎有一個問題,如果我去http://website.com,Selenium無法找到元素我的aspx形式。我需要讓Selenium直接進入http://website.com/form.aspx。這並不可怕,因爲我可以確保表單能夠正常工作,但理想情況下,我希望它能從用戶的角度完成所有事情。其他人遇到過這個問題嗎?硒2無法找到元素ID,除非我直接進入.aspx文件
2
A
回答
4
似乎有一個從默認主頁面重定向到您的網站form.aspx。我認爲WebDriver捕獲完成加載主頁然後重定向到表單,但WebDriver沒有捕獲到這一點。
我認爲,你可以開始尋找元素之前引入的延遲,也可以使用PageFactory與AjaxElementLocatorFactory,這將使你的驅動等到管制真的會出現,但我不知道它是否適用於C#
1
我也有這個問題,這是由於重定向,並且waitFor *命令不太適合重定向。它永遠不會等待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
的這種快樂的好處是,命令歷史記錄計數的「相同的命令(99ms)的毫秒: xyz「,讓你知道一切都是活着和健康的,而重定向則是順其自然的。
相關問題
- 1. 硒c#無法找到文本元素
- 2. 硒不能找到元素,除非我將鼠標移動到該元素上
- 3. 硒與Python:無法通過鏈接文本找到元素
- 4. 硒2的webdriver無法找到鏈接
- 5. 硒IDE無法找到ID
- 6. 硒C#無法找到元素
- 7. 使用硒webdriver無法找到元素
- 8. 無法找到網頁元素硒
- 9. 硒和Javascript,無法找到firstchild元素
- 10. 硒與pyvirtualdisplay無法找到元素
- 11. 無法找到框元素硒和Python
- 12. 使用硒無法找到使用ID的元素
- 13. 硒web驅動程序。無法通過ID找到元素,xpath
- 14. 硒元素找不到元素,除非我逐個執行命令
- 15. 硒Webdriver沒有這樣的元素:無法找到元素
- 16. 無法在iframe中找到一個輸入元素硒
- 17. 無法找到輸入元素在div下的硒
- 18. 無法找到html元素ID
- 19. 酶 - 芒無法找到id元素
- 20. Javascript無法找到元素ID
- 21. 無法通過ID找到元素
- 22. 無法找到由id元素 - 錯誤
- 23. 無法接入元件直接
- 24. 元素無法找到與文本 - 硒webdriver
- 25. 硒 - 無法找到元素爲靜態文本
- 26. 無法使用硒webdriver查找元素
- 27. 無法使用硒查找html元素
- 28. 滾動直到通過硒中的鏈接文本找到元素
- 29. 我無法找到進程ID
- 30. 我的CodeIgniter 3.0.3模型文件無法找到,除非lcfirst(example_model.php)