Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Selenium在日期选择器中自动选择日期_C#_Selenium_Css Selectors - Fatal编程技术网

C# 使用Selenium在日期选择器中自动选择日期

C# 使用Selenium在日期选择器中自动选择日期,c#,selenium,css-selectors,C#,Selenium,Css Selectors,我在尝试自动化测试以从日期选择器(没有日期输入字段)中选择日期时遇到问题。我已经搜索并查看了几个示例,其中一个示例特别说明您可以将其与By.CssSelector一起使用,但我不确定在此示例中究竟需要指定什么 这是HTML: <td class="dpTD" onmouseout="this.className=&quot;dpTD&quot;;" onmouseover="this.className=&quot;dpTDHover&quot;;" o

我在尝试自动化测试以从日期选择器(没有日期输入字段)中选择日期时遇到问题。我已经搜索并查看了几个示例,其中一个示例特别说明您可以将其与By.CssSelector一起使用,但我不确定在此示例中究竟需要指定什么

这是HTML:

<td class="dpTD" onmouseout="this.className=&quot;dpTD&quot;;" 
onmouseover="this.className=&quot;dpTDHover&quot;;" 
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();