如何使用Chrome Selenium C#单击DateRangePicker

时间:2019-04-04 19:09:31

标签: javascript c# selenium google-chrome

我正在寻找一种在DateRangePicker元素上执行鼠标单击的方法。

我试图在https://rvshare.com/上编写自动化工具。 我需要单击DateRangePicker。我尝试了互联网上所有可用的方法,但是没有运气。

这是我尝试过的3种方法。

// 1.
Driver.FindElement(by).Click();

// 2.
Driver.ExecuteScript("arguments[0].click('');", ((RemoteWebDriver)Driver).FindElement(by));

// 3.
Actions action = new Actions(Driver);
action.MoveToElement(Driver.FindElement(by)).Perform();
action.Click(Driver.FindElement(by)).Perform();

应该显示日历控件,但以上任何方法均无效。

有人遇到类似的问题吗?

2 个答案:

答案 0 :(得分:1)

我不确定您的问题是什么,但是我能够使用您提到的第一种方法单击Datepicker(拾取或放下),所以我建议问题不在于您使用的方法,而在于您的定位器。 / p>

您的代码将是:

Driver.FindElement(By.XPath("//div[@class='DateRangePickerInput_arrow DateRangePickerInput_arrow_1']/following::div[@class='DateInput DateInput_1']")).Click();

enter image description here

答案 1 :(得分:0)

如果您尝试从日历中选择数据,请在单击PickupDropoff时使用以下脚本。 xpath适用于它们两者。确保以正确的格式输入日期,并且日历中有您要选择的月份。您必须点击move to next month按钮,直到达到所需的月份为止。

driver.FindElement(By.Xpath("//td[contains(@aria-label,'May 14, 2019')]")).click();