У меня есть форма, которая имеет 4 виджета календаря. Источник HTML одинаков для всех виджетов.
<div class="grid_12">
<td class="wikicell">
<div class="Item">
<div class="Value">
<input type="hidden" id="Submit_Date$_type" value="Date,99/99/9999">
<input id="Submit_Date" size="40" value="" type="text">
<a href="javascript:" class="Calendar">
<img src="transparent.gif" class="Placeholder" tabindex="-1" align="absmiddle">
</a>
</div>
</div>
</td>
Я могу найти первый календарь, используя следующий код:
driver.findElement(By.cssSelector("div.grid_12 img.Placeholder"), 15).click();
Но когда я пытаюсь расположить 2-й, 3-й и 4-й календари, используя nth-child (2) / (3) или (4), я получаю «Невозможно найти элемент: {» method »:« css selector », "селектор": "div.grid_12 img.Placeholder: nth-child (2)"}
Я также пытался с «a.Calendar», «div.grid_12 img» работать также для первого календаря. Эти 3 селектора могут успешно щелкнуть и открыть первый виджет календаря при использовании с «nth-child (1)», но не для следующих 3.
Я использовал Thread.sleep (3000) после закрытия первого календаря, но в итоге получаю ту же ошибку.
Я использовал метод findElements (), чтобы получить все виджеты календаря, и дважды проверил, используя size (), чтобы проверить, находит ли WebDriver все элементы календаря. Результат 4, как и ожидалось.
Не правильно ли я использую nth-child?