C# 我无法使用Selenium和C在日期选择器上选择日期

C# 我无法使用Selenium和C在日期选择器上选择日期,c#,selenium,C#,Selenium,有史以来第一个堆栈溢出问题 我正在尝试编写一个Selenium C脚本以获取此页面上的报价: 单击开始报价按钮,您将进入页面。选择单程旅行,有开始日期选项-今天、明天和其他。我想从其他菜单中选择任何日期,但似乎没有任何效果 我可以很容易地找到CSS选择器,但实际上用它们做一些事情似乎是不可能的。我尝试过SendKeys和Builder,也尝试过使用Javascript更新在实际选择后出现的值。JS的工作原理是更新页面,但当移动到下一个页面时,这些值是默认值,而不是更新后的值。什么都不管用。有谁能

有史以来第一个堆栈溢出问题

我正在尝试编写一个Selenium C脚本以获取此页面上的报价: 单击开始报价按钮,您将进入页面。选择单程旅行,有开始日期选项-今天、明天和其他。我想从其他菜单中选择任何日期,但似乎没有任何效果

我可以很容易地找到CSS选择器,但实际上用它们做一些事情似乎是不可能的。我尝试过SendKeys和Builder,也尝试过使用Javascript更新在实际选择后出现的值。JS的工作原理是更新页面,但当移动到下一个页面时,这些值是默认值,而不是更新后的值。什么都不管用。有谁能提供一个解决方案吗

我试过:

element = (IWebElement)js.ExecuteScript("document.querySelector('#CoverStartDate div div > label:nth-of-type(3) div span span > span:nth-of-type(1)').innerText='" + startDateMonth + "';");

element = (IWebElement)js.ExecuteScript("document.querySelector('#CoverStartDate div div > label:nth-of-type(3) div span span > span:nth-of-type(2)').innerText='" + startDateDay + "';");
JS可以工作,但不能解决问题-当我转到下一页时,日期是默认日期

我也试过:

 IWebDriver d = new FirefoxDriver();
 Actions action = new Actions(d);
 action.(Various actions like click, double click, perform);
我还使用了SendKeys:

element.SendKeys(Keys.Tab);
高亮显示图元,然后单击。我甚至试过。提交,但是,因为它不是一个表单,所以它不起作用


只是想澄清一下——当我使用SendKeys.Tab时,我可以访问我需要的元素。我只是不能点击或选择它

我最终自己解决了这个问题,所以我会发布这个,以防其他人有类似的问题。我使用一个集合获取所有按钮,根据属性值将它们过滤到另一个集合中,然后能够单击所需的日期。

欢迎使用StackOverflow!告诉我们你有什么和什么不起作用,这样我们可以帮助你找到答案。嗨,Codexer。我已经更新了我的问题,以显示我的尝试。谢谢。@Roybut但当您选择日期时,它会将值存储在一个隐藏的输入元素中,例如textbox。您应该尝试查找并直接设置它,而不是从日历中选择。当表格提交时,它将被张贴。嗨,阿曼。我已经尝试过将这些值直接发送到SendKeys上面的代码片段中的选择器,并使用上面的JS。这些都不管用