enter image description here我有网页,我需要在web表中选择特定元素。在普通表中,我们可以通过计算行数和列数来实现,但在Dojo页面中,这些元素存在于Tag.Not确定如何遍历它以点击特定元素。请在下面找到Dojo HTML代码。
<div class="appointment-calendar-item special-calendar-5-items" data-dojo-attach-point="containerNode" id="uniqName_8_3" widgetid="uniqName_8_3">
<div class="calendar-item-title">
<div data-dojo-attach-point="itemWeek" class="calendar-month-week bold">Thursday</div>
<div data-dojo-attach-point="itemMonthDay" class="calendar-month-day medium">May 19</div>
</div>
<div data-dojo-attach-point="itemsList" class="items-container">
<a class="calendar-item-time" href="" tabindex="0" aria-label="Monday, May 23, 9:00 am" aria-selected="false" role="tab" data-time="9:00 am">9:00 am</a>
<a class="calendar-item-time" href="" tabindex="0" aria-label="Monday, May 23, 9:15 am" aria-selected="false" role="tab" data-time="9:15 am">9:15 am</a>
<a class="calendar-item-time" href="" tabindex="0" aria-label="Monday, May 23, 9:30 am" aria-selected="false" role="tab" data-time="9:30 am">9:30 am</a>
<a class="calendar-item-time" href="" tabindex="0" aria-label="Monday, May 23, 9:45 am" aria-selected="false" role="tab" data-time="9:45 am">9:45 am</a>
<a class="calendar-item-time" href="" tabindex="-1" aria-label="Monday, May 23, 10:00 am" aria-selected="false" role="tab" data-time="10:00 am">10:00 am</a>
<a class="calendar-item-time" href="" tabindex="-1" aria-label="Monday, May 23, 10:15 am" aria-selected="false" role="tab" data-time="10:15 am">10:15 am</a>
<a class="calendar-item-time" href="" tabindex="-1" aria-label="Monday, May 23, 10:30 am" aria-selected="false" role="tab" data-time="10:30 am">10:30 am</a>
<a class="calendar-item-time" href="" tabindex="-1" aria-label="Monday, May 23, 10:45 am" aria-selected="false" role="tab" data-time="10:45 am">10:45 am</a>
<a class="calendar-item-time" href="" tabindex="-1" aria-label="Monday, May 23, 11:00 am" aria-selected="false" role="tab" data-time="11:00 am">11:00 am</a>
<a class="calendar-item-time" href="" tabindex="-1" aria-label="Monday, May 23, 5:15 pm" aria-selected="false" role="tab" data-time="5:15 pm">5:15 pm</a>
<a class="calendar-item-time" href="" tabindex="-1" aria-label="Monday, May 23, 5:30 pm" aria-selected="false" role="tab" data-time="5:30 pm">5:30 pm</a>
</div>
答案 0 :(得分:0)
如果您想在上午9:00点击,可以使用XPath。
driver.FindElement(By.XPath("//a[contains(.,'9:00 am')]")).Click();
如果您想浏览所有项目。你需要使用class&#34; items-container&#34;来获取div元素,然后循环遍历它们
ReadOnlyCollection<IWebElement> itemContainersCollection = driver.FindElements(By.CssSelector(".items-container"));
foreach(IWebElement div in itemContainersCollection)
{
ReadOnlyCollection<IWebElement> aCollection = driver.FindElements(By.CssSelector("a"));
foreach(IWebElement a in aCollection)
{
System.Diagnostics.Debug.WriteLine(a.GetAttribute("aria-label") + " - "+ a.Text);
}
}