2015-04-28 86 views
0

在我的表單中,下拉菜單中的所有選項都具有相同的ID和xpath,我也嘗試過給出值。在運行測試時,單擊菜單按鈕並顯示列表(此時測試失敗),但未提取並返回該值。我收到錯誤「未找到UI活動菜單項」。有人能解決這個問題嗎? 在IDE中選擇命令和WaitForElementPresent沒有幫助。 請找我的webdriver編碼在Java中:如何找到具有相同id和xpath的元素

//clicked the list button 
    driver.findElement(By.id("ctl00_cphWMContent_eddlWH_list_button")).click(); 
    //to select the option 
    new Select(driver.findElement(By.xpath("html/body/ul[2]"))).selectByVisibleText("Option1"); 
    //wait to return the selected 
    Thread.sleep(1000); 
+1

添加下拉列表的html。請解釋如何獲取其值以及文本框與問題 –

+0

的相關性。請發佈下拉菜單的HTML和您用於與下拉菜單進行交互的代碼。 –

+0

\t​​點擊 \t​​ID = ctl00_cphWarehouseMasterContent_eddlSupplier_list_button \t​​ \t​​點擊 \t​​ID = UI-有源菜單項 \t​​ \t​​點擊 \t​​ID = ctl00_cphWarehouseMasterContent_eddlWarehouse_list_button \t​​ \t​​點擊 \t​​ID = UI-有源菜單項 \t​​ \t​​點擊 \t​​ID = ctl00_cphWarehouseMasterContent_eddlItem_list_button \t​​ \t​​點擊 \t​​ID = UI-有源菜單項 \t​​ – Kavr

回答

0

XPath是不是有限,也沒有明確的財產。對象沒有一個xpath,所以你聲明你的元素具有相同的xpath是正確的和錯誤的!

所有按鈕都具有相同的xpath(//按鈕),但所有按鈕都具有許多其他xpath,其中一些將是唯一的。

此外,具有相同的 HTML ID的元素實際上顯示無效的HTML,因爲w3c表示所有的HTML ID必須是唯一的。因此,如果您確實有重複的ID,那麼因HTML無效而引發錯誤。

+0

謝謝Robbie Wareham – Kavr

+0

@Kavr如果您認爲這是答案,請接受 –

相關問題