我是一个Python菜鸟,所以这可能是我不理解的一些愚蠢的事情。
假设我有两个函数,我按顺序调用:
def one():
print "ONE"
def two():
print "TWO"
one()
two()
当我运行它时,我得到了
ONE
TWO
现在,我有两个用Selenium webdriver构建的函数,让我们说每个函数都找到并打印一个元素的文本:
def find_one():
print driver.find_element_by_class_name('onething').text
def find_two():
print driver.find_element_by_class_name('anotherthing').text
我们假设find_one()
的输出是“一件事”而find_two()
的输出是“另一件事”。如果我跑:
find_one()
find_two()
你希望它能打印到控制台:
one thing
another thing
但事实并非如此。它只打印another thing
!
如果我运行find_one()
它可以正常运行。如果我运行find_two()
它可以正常工作。但是当我按顺序运行它们时,它只打印find_two()
。
对我来说特别令人困惑的是,如果我按顺序调用函数并使用Firefox驱动它,我可以看到它导航到find_one()
中的元素,然后导航到find_two()
中的元素,但只有find_two()
打印。
有谁知道这里发生了什么?