【发布时间】:2019-10-09 10:02:28
【问题描述】:
为什么 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))
【问题讨论】:
-
分享您的 HTML。
-
首先,如果您发布(部分)DOM 会有帮助。其次,如果您说在执行 ic.click() 之后 DOM 发生了变化,那么看起来您的代码在 DOM 由于该单击而实际更改之前运行。因此,您仍在针对旧 DOM 执行代码。您可能想要构建一个“等待”。