Selenium只运行两个函数中的第二个

时间:2014-12-01 02:23:50

标签: python selenium selenium-webdriver

我是一个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()打印。

有谁知道这里发生了什么?

0 个答案:

没有答案