1
我使用InternetExplorerDriver(和我必須)。我有兩個窗口句柄。我必須在這些窗口之間切換多次。 我這樣做使用這兩行。硒Webdriver窗口切換失敗隨機
driver.switchTo().window(myWindowHandle1);
driver.findElement(By.xpath("//body")).click();
我說身體上的點擊,否則有時交換機工作不正常,精細,自從這爲我工作。
現在我有一個新問題。 我的第三個窗口開關(1. window1 - > window2; 2. window2 - > window1; 3. window1 - > window2;)不再工作。
ElementNotVisibleException: Cannot click on element --- in this case, line 2
因此身體不再可見。 上一個窗口開關完美工作,所以手柄是正確的。 查找正文元素By.tagName並未解決問題。 任何人都有同樣的問題?解決方案?
你的xpath看起來非常抽象..偶爾你的切換失敗有兩個原因。 *超時*和隱藏的元素。例如,如果你的這個元素的html代碼是你可以點擊這個元素:'driver .findElement(「xpath = // input [contains(@id,'login')]」))。click();' – 2012-08-16 09:14:49
首先,謝謝,它工作。但仍然,爲什麼不點擊身體工作?它適用於所有其他窗口開關。整個過程中身體是可見的不是嗎?並且增加超時也沒有幫助。 – Robinho 2012-08-16 10:40:39
點擊body元素不是一個好方法。記錄.click()方法以嘗試單擊元素的中心。如果元素的中心在視口中不可見,並且無法滾動到視圖中,則至少在IE驅動程序中,您可能會看到異常。 – JimEvans 2012-08-16 11:26:40