2015-05-14 4 views
0

После ввода значения «86100000» и нажатия кнопки «Поиск», страница будет перезагружена и получит список «Добавить в список» в разделе «Товарная секция».Идентификация веб-элемента, который имеет одно и то же свойство (тот же класс, тот же тип, одно и то же имя). Разница только в значении в selenium webdriver

Как «Поиск» и «Добавить в список» кнопки имеют то же свойство, не в состоянии нажать кнопку «Добавить в список»! [Изображение показывает поиск и добавление в список кнопки]

HTML тег «Поиск "Кнопка:

HTML тегов для "Добавить в список":

Pls предложить способ определения «Добавить в список» button..I судимы и CSS XPath Selector.IDE заключается в определении, что button.But в затмении с помощью кода селена дает ошибку и не смог найти элемент ..

мне нужен код, чтобы ждать, пока загружается страница после нажатия кнопки «Поиск», и нужно нажать кнопку «» Добавить в список»кнопка ..

Pls помочь мне с ур анс .. заранее спасибо

ответ

0

Чтобы помочь вам, вы можете вставить HTML-страницу страницы до и после поиска. Тогда я смогу дать вам пример кода.

+0

** HTML тег для "Поиска" Кнопка: ** (т.е.) До поиска "кнопка" класса = типа <входа "vmBtnAddInline" = OnClick = "QuickSearch ('registrationCommodity.do?quickEntries =', 'VM_inl_commodity_all '), return 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

thankx для ur reply..I запустил код. но показывая ошибку как "org.openqa.selenium.NoSuchElementException: Не удается найти элемент: {"method": "xpath", "selector": "// input [@value = \" Добавить в список \ "и @type = \" button \ "]"} Длительность команды или timeout: 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

: п-й ребенок (селектор CSS) должен быть в состоянии помочь вам в этом.

+0

Кнопка поиска идентифицируется с помощью ввода [@ value = "Поиск" и @ type = "button"]. После того, как эта кнопка поиска нажата, обновляется и кнопка «Добавить в список» не идентифицируется // input [@ value = «Добавить в список» и @ type = «button»], даже если она идентифицирована с помощью Selenium IDE на Кнопка «Найти». Я не могу исправить проблему до сих пор. Когда щелкнуто «Добавить в список», «86100000», «Профессиональное обучение» будет отображаться в кадре. Я скоро отправлю записанное видео, чтобы какой-то орган может мне помочь .. –

+0

попробуйте это. ваше имя класса - «vmBtnAddInline» в соответствии с вашим запросом поиска на первом месте и добавляется в список. .vmBtnAddInline: nth-child (2) <и остальная часть вашего селектора> – Sandy

+0

Sandy, Спасибо. Can u pls дает полный код, чтобы я мог попробовать это –