Comment puis-je enregistrer l'état de la case cochée et utiliser la valeur après le chargement d'une page. Avec le code mentionné ci-dessous, je clique sur une case à cocher, mais après avoir cliqué sur le bouton de calcul, ma page se charge et la case est décochée.
Voici mon code:
INPUT onclick="document.all('hdnIsValueChanged').value=1; if (F1372B03C0090002_01082008__ctl2_HiddenBox_F1372B03C0090002.value==0) {F1372B03C0090002_01082008__ctl2_HiddenBox_F1372B03C0090002.value=1;};" id=F1372B03C0090002_01082008__ctl2_F1372B03C0090002_01082008C2 CHECKED type=checkbox value="" name=F1372B03C0090002_01082008:_ctl2:F1372B03C0090002_01082008C2
Ceci est le formulaire Html pour la case à cocher
driver.findElement(By.id("F1372B03C0090002_01082008__ctl2_F1372B03C0090002_01082008C2")).click();
3 Réponses :
Avez-vous essayé de stocker leurs valeurs dans des variables juste avant de cliquer sur le bouton de calcul?
Après le rechargement, vous pouvez leur attribuer correctement des valeurs.
Non je vais essayer ça
Ne fonctionne pas même après avoir stocké la valeur dans la variable. WebElement checkBox = driver.findElement (By.id ("F1372B03C0090002_01082008 __ctl2_F1372B03C0090 002_01082008C2")); checkBox.click ();
valeur booléenne = diver.findElement (By.id ("F1372B03C0090002_01082008__ctl2_F13 72B03C0090002_010820 08C2")). isSelected () ;
Veuillez utiliser l'extrait de code ci-dessous pour vérifier l'état de la case et cliquer dessus.
WebElement checkBox1 = driver.findElement(By.id("F1372B03C0090002_01082008__ctl2_F1372B03C0090002_01082008C2")); boolean checkboxState = checkBox1.isSelected(); if (checkBox1.isSelected() == true) { System.out.println("Check box is selected"); } else { System.out.println("Check box is not selected"); checkBox1.click(); }
J'ai essayé ça ... Pas de chance. Lorsque je clique sur Calculer, la case à cocher est décochée ... Comment puis-je utiliser les cookies ou le stockage local pour enregistrer l'état de la case à cocher afin qu'elle récupère la valeur après le chargement de la page
Vous devez stocker les valeurs dans une carte avant de cliquer sur Calculer, créer un clic personnalisé pour qu'il ajoute l'élément à la carte, voici un exemple simple:
private HashMap<String, String> values; // this method will click on the element(checking it) and use store method public void checkAndStore(final WebElement element) { Actions action = new Actions(driver); action.moveToElement(element).click(element).build().perform(); addToMap(element); } // here we store the id of element as key to the map and value as value private void addToMap(WebElement element) { values.put(element.getAttribute("id"), element.getAttribute("value")); } // this is your getter public HashMap<String, String> getMyMap() { return this.values; } // and now you can click as many checkbox as you want and get the result aftewards: @Test void myTest() throws Exception { checkAndStore(driver.findElement(By.id("1"))); checkAndStore(driver.findElement(By.id("2"))); checkAndStore(driver.findElement(By.id("3"))); driver.findElement(By.id("myCalculateButton")).click(); System.out.println(getMyMap().entrySet()); }