sélénium python / UnitTest vérifier si la valeur a changé

voix
0

Pourquoi j'obtenir les mêmes résultats pour q1 et q2? Il semble que q2 est écrasé par q1. Je ne comprends pas car ils font référence au même élément, mais stocker sa valeur dans différentes variables à différents moments.

Il y a certainement un changement après que je n'ic.click pour la deuxième fois. Quand je lance seulement la deuxième partie, il me donne le résultat correct.

def test_relation(self):
    ic = self.driver.find_element_by_xpath(//select[@id='selectNumber']/option[2])
    ic.click()

    q1 = self.driver.find_elements_by_xpath(//select[@class='quarterSelect form__multiselect']/option)
    print(len(q1))

    ic = self.driver.find_element_by_xpath(//select[@id='selectNumber']/option[1])
    ic.click()

    q2 = self.driver.find_elements_by_xpath(//select[@class='quarterSelect form__multiselect']/option)
    print(len(q2))
Créé 09/10/2019 à 13:02
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Si vous attendez ic.click () pour faire quelque chose de se produire, alors vous devez attendre que le changement se produise avant de pouvoir chercher du résultat. ajoutant dans un appel à WebDriverWait (). jusqu'à () pour quelque chose que vous aidera probablement.

Je remarque aussi que le code est l'impression len (q1) et len ​​(q2). êtes-vous sûr que leur longueur n'est pas la même chose, même si elles peuvent avoir des éléments dans la liste?

Créé 09/10/2019 à 14:31
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more