我正在寻找一种在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();
应该显示日历控件,但以上任何方法均无效。
有人遇到类似的问题吗?
答案 0 :(得分:1)
我不确定您的问题是什么,但是我能够使用您提到的第一种方法单击Datepicker(拾取或放下),所以我建议问题不在于您使用的方法,而在于您的定位器。 / p>
您的代码将是:
Driver.FindElement(By.XPath("//div[@class='DateRangePickerInput_arrow DateRangePickerInput_arrow_1']/following::div[@class='DateInput DateInput_1']")).Click();
答案 1 :(得分:0)
如果您尝试从日历中选择数据,请在单击Pickup
或Dropoff
时使用以下脚本。 xpath适用于它们两者。确保以正确的格式输入日期,并且日历中有您要选择的月份。您必须点击move to next month
按钮,直到达到所需的月份为止。
driver.FindElement(By.Xpath("//td[contains(@aria-label,'May 14, 2019')]")).click();