2015-05-14 50 views
0

輸入值「86100000」並單擊「搜索」按鈕後,將重新加載頁面 並將獲得商品部分下的「添加到列表」按鈕列表。識別具有相同屬性(相同類,相同類型,相同名稱)的Web元素.Differance僅在硒webdriver中有效

爲「搜索」和「添加到列表」按鈕具有相同的屬性,不能點擊「添加到列表」按鈕![圖片顯示搜索和添加到列表按鈕用於

HTML標籤「搜索「按鈕:

HTML標記爲 」添加到列表「 按鈕:

請建議識別「添加到列表」按鈕的方法..我嘗試通過xpath和CSS Selector.IDE識別該按鈕。但在使用硒代碼的eclipse中發生錯誤並且無法定位元素。

我需要編寫代碼以等待點擊「搜索」按鈕,需要點擊「」添加到列表」按鈕後,直到頁面被加載..

請幫助我與UR ANS ..提前 感謝

回答

0

爲了能夠幫助您,您可以在搜索前後粘貼頁面的HTML。然後我將能夠給你一些示例代碼。

+0

**爲 「搜索」 按鈕的HTML標籤:**(即)搜索 <輸入類= 「vmBtnAddInline」 類型= 「按鈕」 VM_inl_commodity_all之前的onclick =「快速搜索( 'registrationCommodity.do?quickEntries =',' ');返回true;「 value =「Search」name =「Button」> **「添加到列表」按鈕的HTML標籤:**(即)搜索後

1

搜索的XPath = //輸入[@價值= '搜索'

添加到列表的XPath = //輸入[@值= '添加到列表']

+0

screencast.com/t/BSGWwuGW ..Pls看看這個視頻和幫助我.. –

0

您可以使用下面的XPath定位器定位第一鍵:

//input[@value="Search" and @type="button"] 

在webdriver的C#

var searchButton = driver.FindElement(By.XPath("//input[@value='Search' and @type='button']")); 

爲了定位該加載到列表按鈕,請使用以下XPath:

//input[@value="Add to list" and @type="button"] 

在webdriver的C#

var addToListButton = driver.FindElement(By.XPath("//input[@value='Add to list' and @type='button']")); 
+0

謝謝你的回覆..我跑了code.but顯示錯誤爲「org.openqa.selenium。NoSuchElementException:無法找到元素:{「method」:「xpath」,「selector」:「//輸入[@value = \」添加到列表\「和@type = \」按鈕\「]」}命令持續時間或超時:50.11秒「我認爲需要等到頁面加載後點擊」搜索「按鈕。我使用了」driver.manage()。timeouts()。implicitlyWait(50,TimeUnit.SECONDS); 「code.still面臨的概率..如何等待頁面加載和」添加到列表「按鈕是可見的.. –

+1

你可以使用下面的擴展方法或寫類似的顯式等待元素:public static class WebDriverExtensions { 公共靜態IWebElement FindElement(此IWebDriver驅動程序,通過用,整數timeoutInSeconds) { 如果(timeoutInSeconds> 0){ 變種 等待=新WebDriverWait(驅動程序,TimeSpan.FromSeconds(timeoutInSeconds)); 返回wait.Until( DRV => drv.FindElement(by)); } return driver.FindElement(by); } } –

+1

此外,您可以搜索元素可用性如下:新的WebDriverWait(驅動程序,TimeSpan.FromSeconds(timeOut))直到(ExpectedConditions.ElementExists((By.Id(login)))); –

0

:第n個孩子(CSS選擇器)應該能夠幫助你在這裏。

+0

通過輸入[@ value =「Search」和@ type =「button」]來標識搜索按鈕。點擊該搜索按鈕後,頁面將被刷新,即使通過selenium IDE識別,仍然不會通過// input [@ value =「Add to list」和@ type =「button」]標識「Add to List」按鈕「查找」按鈕..我現在仍然無法解決這個問題。一旦點擊「添加到列表」,「86100000」,「職業訓練」將顯示在一個框架中。我會盡快發送錄製的視頻,以便有些身體可以幫我.. –

+0

試試這個。 您的課程名稱是「vmBtnAddInline」,因爲您的評論搜索優先,而下一個添加到列表中。 .vmBtnAddInline:nth-​​child(2)<和其他選擇器> – Sandy

+0

Sandy,謝謝。你可以給完整的代碼,以便我可以嘗試 –

相關問題