Toute première question sur Stack Overflow.
J'essaie d'écrire un script Selenium C# pour obtenir un devis sur cette page : https://www.comparethemarket.com/travel-insurance/single-trip/ (cliquez sur le bouton "Démarrer un devis" et vous arriverez sur la page). Sélectionnez un seul voyage et il y a des options de date de début - aujourd'hui, demain et autre. Je veux sélectionner n'importe quelle date dans le menu "autre" mais rien ne semble fonctionner.
Je peux facilement trouver les sélecteurs CSS, mais il me semble impossible de faire quelque chose avec eux. J'ai essayé SendKeys et Builder, et j'ai également essayé d'utiliser Javascript pour mettre à jour les valeurs qui apparaissent après une sélection réelle (le JS fonctionne dans le sens où il met à jour la page, mais lorsqu'on passe à la page suivante, les valeurs sont celles par défaut plutôt que celles mises à jour). Rien ne fonctionne. Quelqu'un peut-il fournir une solution à ce problème, s'il vous plaît ?
J'ai essayé :
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 + "';");
Le JS fonctionne mais ne résout pas le problème : lorsque je passe à la page suivante, la date est celle par défaut.
J'ai aussi essayé ça :
IWebDriver d = new FirefoxDriver();
Actions action = new Actions(d);
action.(Various actions like click, double click, perform);
J'ai également utilisé SendKeys :
element.SendKeys(Keys.Tab);
pour mettre l'élément en surbrillance, puis cliquez (). J'ai même essayé .Submit() mais, comme il ne s'agit pas d'un formulaire, cela n'a pas fonctionné.
Pour être clair, lorsque j'ai utilisé SendKeys.Tab, je peux accéder à l'élément dont j'ai besoin. Je ne peux simplement pas cliquer dessus ou le sélectionner d'une autre manière.