python selenium / unittest检查值是否已更改

时间:2019-10-09 10:02:28

标签: selenium python-unittest

我如何得出q1和q2相同的结果?似乎q2被q1覆盖。不理解,因为它们引用相同的元素,但是在不同的时间点将其值存储在不同的变量中。

第二次单击ic.click之后,肯定有变化。当我单独运行第二部分时,它会给我正确的结果。

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))

1 个答案:

答案 0 :(得分:0)

如果您期望ic.click()导致某些事情发生,那么您需要等待该更改发生之后才能查找其结果。添加对WebDriverWait()。until()的调用可能会有所帮助。

此外,我注意到代码正在打印len(q1)和len(q2)。即使列表中可能包含不同的项目,您确定它们的长度也不相同吗?