2015-05-14 6 views
-1

У меня есть две сборщики дат на моей веб-странице, которая является датой начала и окончания. Мне нужно нажать на обе даты, но когда я ищу элемент, есть те же самые элементы. но есть одно уникальное имя элемента. Как я могу назвать эти элементы.Обработка выборки даты с использованием Selenium WebDriver

Выбор даты 1 HTML код: -

<span>Start Date:</span> 
<input id="courseStartDate" class="date-range required hasDatepicker" type="text" size="20" value="" onchange="startDateChanged()" name="courseStartDate"> 
<img class="ui-datepicker-trigger" src="../../images/Calender.png" alt="..." title="..."> 

Date Picker 2 HTML код: -

<span>End Date:</span> 
<input id="courseEndDate" class="date-range required hasDatepicker" type="text" size="20" value="" onchange="endDateChanged()" name="courseEndDate"> 
<img class="ui-datepicker-trigger" src="../../images/Calender.png" alt="..." title="..."> 
+0

Я пробовал следующие, но не нажал изображение календаря 1. driver.findElement (By.cssSelector ("img [alt = '...']")). Click(); 2.driver.findElement (By.cssSelector ("input [id = courseStartDate]")); 3.driver.findElement (By.cssSelector ("input [id = 'courseStartDate']")). Click(); 4.driver.findElement (By.name ("courseStartDate")). Click(); 5.driver.findElement (By.xpath (".//*[@ id = 'courseStartDate']/img [alt = '...']")). Click(); –

ответ

0

Прежде всего, img тег не является дочерним input тега, но тег сразу после него - брат. Кроме того, в вашей 5-й попытке вы пытаетесь обратиться к атрибуту alt от img, поэтому вы должны написать @alt вместо alt.

Я бы рекомендовал использовать атрибут вместо altclass, как это:

1) дата начала

(.//*[@id='courseStartDate']/following-sibling::img[@class='ui-datepicker-trigger'])[1] 

2) дата окончания

(.//*[@id='courseEndDate']/following-sibling::img[@class='ui-datepicker-trigger'])[1] 

Посмотрите here для более информацию о следующих синонимах и осях xpath в целом.

+0

Я попытался с заданным кодом и добавил @ к моей 5-й попытке, но все еще не работал. Можете ли вы предоставить какое-либо другое решение на этом –

+0

Просьба представить более подробный образец кода для просмотра, где и как использовалось данное решение. Ваш код заключен в блок try/catch? – groovy

Смежные вопросы