C# 使用Selenium在日期选择器中自动选择日期
我在尝试自动化测试以从日期选择器(没有日期输入字段)中选择日期时遇到问题。我已经搜索并查看了几个示例,其中一个示例特别说明您可以将其与By.CssSelector一起使用,但我不确定在此示例中究竟需要指定什么 这是HTML:C# 使用Selenium在日期选择器中自动选择日期,c#,selenium,css-selectors,C#,Selenium,Css Selectors,我在尝试自动化测试以从日期选择器(没有日期输入字段)中选择日期时遇到问题。我已经搜索并查看了几个示例,其中一个示例特别说明您可以将其与By.CssSelector一起使用,但我不确定在此示例中究竟需要指定什么 这是HTML: <td class="dpTD" onmouseout="this.className="dpTD";" onmouseover="this.className="dpTDHover";" o
<td class="dpTD" onmouseout="this.className="dpTD";"
onmouseover="this.className="dpTDHover";"
onclick="updateDateField('03/04/2012', '2', '3', '3', '2012');">3</td>
看起来您可以按其类别进行选择:
WebDriver.FindElement(By.CssSelector(".dpTD")).Click();
或者,如果该类有多个单元格,请尝试使用:contains()
:
甚至是属性子字符串选择器:
WebDriver.FindElement(By.CssSelector(".dpTD[onclick*=updateDateField]")).Click();
我只是在这里提出建议,因为没有足够的标记可以使用。如果您使用过CSS,您几乎可以使用Selenium的任何选择器。我们可以看到更多标记吗,例如包含此td的表格?谢谢!使用属性子字符串选择器修复了我的问题。
WebDriver.FindElement(By.CssSelector(".dpTD:contains('3')")).Click();
WebDriver.FindElement(By.CssSelector(".dpTD[onclick*=updateDateField]")).Click();