我不認爲許多人使用Winium.Cruciatus或Winium.Desktop WebDriver實現,但如果有人也許可以幫助我或從我的解決方法中受益。在Winium.Cruciatus中查找主窗口元素
我用WebDriver實現開始我的應用程序,這樣的事情:沒有淘到整個
capabilities = { 'app' => path, 'launchDelay' => 1500 }
driver = Selenium::WebDriver.for(:remote,
url: 'http://127.0.0.1:9999',
desired_capabilities: capabilities)
應用程序啓動就好了但我需要找到根元素能夠找到孩子自動化樹。
我曾經這樣做:
wait.until { @driver.find_element(:id, 'appid') }
如果應用程序加載的正常工作,如果有沒有太多的窗戶打開。但是,當我打開10-15個窗口並且應用程序需要幾秒鐘才能啓動cruciatus庫時才掛起。我已經將其跟蹤到自動化庫本身,它掛起。我認爲這是由於應用程序沒有被加載,當庫閱讀元素樹時,它開始遍歷範圍中的每個元素,這需要很長的時間,最後可能會以堆棧溢出結束(according to MSDN)。
我甚至嘗試過自己修復Cruciatus實現,但由於這是枚舉元素緩慢的固有問題,即使我在Cruciatus中放置超時,它也沒有真正的幫助。
我會提供我的解決方法作爲答案,但如果任何人有更好的建議,將不勝感激?