2012-07-12 131 views
1

我有一個硒網格設置與集線器在CI(jenkins)服務器上運行。每當我建立和詹金斯運行我的項目也未能執行:Selenium webdriver腳本無法在IE 8中執行sendkey()時從jenkins運行它

WebElement inputElement = driver.findElement(By.xpath("//a[contains(@href,\"/Case/Add")]")); 

inputElement.sendKeys(Keys.ENTER); 

或者更確切地說,硒認爲它沒有和即selenium.select("id=LifeOffice", "label=AMP");

移動到下一個命令節點分別運行不同的虛擬機瀏覽器,並且只有在IE 8瀏覽器上執行腳本時纔會出現此問題。當我從我的IDE運行腳本時很好。

我一直在使用click();((JavascriptExecutor)driver).executeScript("arguments[0].fireEvent('onclick');",inputElement);試過,我仍然有同樣的問題...

回答

2

這聽起來很奇怪,但嘗試採取在頁面上活脫脫SendKeys命令後。如果該元素是外面只是內部視,幾乎觸及邊界,this might have happened to you

從來沒有的元素焦點,因爲它隱藏在瀏覽器的滾動條/狀態欄/一塊頁,涵蓋的背後它。通常IE會將元素滾動到視口並將其聚焦,但有時候,在邊緣情況下,它不會。然後在statusbar/scrollbar/blank頁面上調用focus(或點擊或任何其他)調用。

解決方法?我只知道大約兩個:

  • 更改計算機的分辨率/窗口大小/ IE佈局(使它全屏,或禁用工具欄等)
  • 確保您永遠不變的分辨率/窗口大小等。而在這些邊緣情況與純JavaScript工作:

    ((JavascriptExecutor)driver).executeScript("arguments[0].click()", inputElement); 
    
+0

我有一個非常類似的經歷。奇怪的是它發生在Jenkins服務器和我的IDE中。在本地,調整窗口大小使問題消失。在服務器上,我還調整了瀏覽器窗口的大小,希望它會改變默認行爲。但在同一時期,我也重新啓動了Jenkins服務器和運行應用程序的服務器,所以它可能是導致問題停止的一些組合。 – 2013-10-10 08:40:45

相關問題