python selenium / unittest controleren of waarde is veranderd

stemmen
0

Hoe komt het dat ik dezelfde resultaten voor Q1 en Q2 te krijgen? Het lijkt erop dat q2 wordt overschreven door q1. Niet begrijpen, omdat zij verwijzen naar hetzelfde element, maar slaan de waarde ervan in verschillende variabelen op verschillende tijdstippen.

Er is zeker een verandering nadat ik heb ic.click voor de tweede keer. Toen ik alleen het tweede deel voer het geeft me het juiste resultaat.

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))
De vraag is gesteld op 09/10/2019 om 13:02
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

Als u verwacht ic.click () om iets te gebeuren veroorzaken, dan moet je wachten tot die verandering te gebeuren voordat je kunt kijken voor het is resultaat. toe te voegen in een oproep aan WebDriverWait (). tot () naar iets zal je waarschijnlijk helpen.

Ook merk ik dat de code wordt afgedrukt len ​​(q1) en Len (Q2). weet je zeker dat hun lengte is niet hetzelfde, hoewel ze verschillende items in de lijst kan hebben?

antwoordde op 09/10/2019 om 14:31
bron van user

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