我如何得出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))
答案 0 :(得分:0)
如果您期望ic.click()导致某些事情发生,那么您需要等待该更改发生之后才能查找其结果。添加对WebDriverWait()。until()的调用可能会有所帮助。
此外,我注意到代码正在打印len(q1)和len(q2)。即使列表中可能包含不同的项目,您确定它们的长度也不相同吗?