Я не могу выбрать дату в окне выбора даты, используя Selenium и C # - PullRequest
2 голосов
/ 06 мая 2019

Первый вопрос переполнения стека.

Я пытаюсь написать сценарий Selenium C #, чтобы получить цитату на этой странице: https://www.comparethemarket.com/travel-insurance/single-trip/ (нажмите кнопку «Начать цитату», и вы попадете на страницу). Выберите одну поездку, и есть варианты даты начала - сегодня, завтра и другие. Я хочу выбрать любую дату из «другого» меню, но, похоже, ничего не работает.

Я легко могу найти селекторы 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);

, чтобы выделить элемент, а затем нажмите (). Я даже пытался .Submit (), но, поскольку это не форма, это не сработало.

Просто чтобы прояснить: когда я использовал SendKeys.Tab, я мог добраться до нужного мне элемента. Я просто не могу щелкнуть или иным образом выбрать его

1 Ответ

0 голосов
/ 17 мая 2019

Я наконец-то решил это сам, поэтому опубликую это на тот случай, если у кого-то возникнет аналогичная проблема.Я использовал коллекцию, чтобы получить все кнопки, отфильтровал их в другую коллекцию на основе значения атрибута, а затем смог щелкнуть нужную дату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...