Как выполнить щелчок на DateRangePicker с помощью Chrome Selenium C # - PullRequest
0 голосов
/ 04 апреля 2019

Я ищу способ выполнить щелчок мышью по элементу DateRangePicker.

Я пытался написать инструмент для автоматизации на https://rvshare.com/. Мне нужно нажать на DateRangePicker.Я перепробовал все способы, доступные в интернете, но безуспешно.

Вот три способа, которые я попробовал.

// 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 ]

1 голос
/ 04 апреля 2019

Я не уверен, в чем заключалась ваша проблема, но я смог щелкнуть DatePicker (Pickup или Dropoff), используя 1-й метод, который вы упомянули, поэтому я полагаю, что проблема связана не с методами, которые вы используете, а с вашим локатором.

Ваш код будет:

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

enter image description here

0 голосов
/ 05 апреля 2019

Если вы пытаетесь выбрать данные из календаря, используйте приведенный ниже скрипт, как только вы нажмете Pickup или Dropoff. Xpath работает для них обоих. Обязательно введите дату в правильном формате, и месяц, который вы хотите выбрать, есть в календаре. Вы должны нажимать кнопку move to next month, пока не достигнете требуемого месяца.

driver.FindElement(By.Xpath("//td[contains(@aria-label,'May 14, 2019')]")).click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...