2016-03-19 306 views
0

我試圖用硒實現一個測試套件。陳舊的元素參考Selenium Web驅動程序

寫入自動腳本時,驅動程序可以使用xpath輸入數據。在結果中,我可以看到輸入到文本框中的值,但保存頁面時會拋出數據未輸入到列中的錯誤(Stale元素異常)。

爲了解決這個問題,我試着移動焦點並返回到列並重新輸入數據。儘管如此,我仍然遇到同樣的錯誤。

錯誤消息:

元素在緩存中沒有發現 - 也許是頁面已經改變,因爲它 被查找有關該錯誤的文檔,請訪問: http://seleniumhq.org/exceptions/stale_element_reference.html構建 信息:版本:「2.47 .1',修訂:'411b314',時間:'2015-07-30 03:03:16'系統信息:主機:'HQ04HQQTP006',ip:'10 .10.220.164', os.name:'Windows 7 ',os.arch:'x86',os.version:'6.1',java.version: '1.8.0_66'驅動程序信息:driver.version:unknown命令持續時間或 超時時間:8.17秒對於doc請訪問: http://seleniumhq.org/exceptions/stale_element_reference.html Build info:version:'2.47.1',revision:'unknown',time:'2015-07-30 11:02:44'系統信息:host:'HQ -GRID-001',ip:'10.10.1.206', os.name:'Windows 7',os.arch:'amd64',os.version:'6.1', java.version:'1.8.0_65'驅動程序信息: org.openqa.selenium.remote.RemoteWebDriver能力 [{applicationCacheEnabled = TRUE,旋轉=假,handlesAlerts = TRUE, databaseEnabled = TRUE,版本= 40.0.3,平臺= WINDOWS, nativeEvents =假,acceptSslCerts = true, webdriver.remote.sessionid = b95bec47-70a6-4c88-bbc0-e38c9d56aff0, webStorageEnabled = true,locationContextEnabled = true, browserName =火狐,takesScreenshot = TRUE,javascriptEnabled = TRUE, cssSelectorsEnabled =真}]會話ID: b95bec47-70a6-4c88-bbc0-e38c9d56aff0

請讓我知道如果我沒有在這個問題明確,我會試着更多地解釋它。

enter image description here

+1

你可以添加你的代碼示例嗎? –

回答

2

我有兩個小技巧讓你試一下:

  1. 後做的SendKeys相同的元素做sendKeys(Keys.TAB)或點擊一些其他的文本框中。這裏要做的一點是可能會有一些字段在您將某些內容輸入到其他字段後更新數據。示例:實際列。

  2. 現在,在完成此操作並且您看到正確輸入的數據後,如果最初禁用了該功能,則需要給保存按鈕留出一些時間。在這種情況下,使用方法: WebDriverWait wait = new WebDriverWait(driver, 10);

    WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.YOUR LOCATOR));

這裏我建議你提到的定位,而不是先前確定的元素,因爲刷新等可能破壞先前確定的元素。

相關問題