如何在Python中的函数之间传递Selenium WebDriver实例?

时间:2018-08-02 20:30:35

标签: python function selenium webdriver

我有一个处理登录网站的功能。然后,我返回webdriver实例,以便可以将其传递到另一个功能,该功能实际上可以处理获取所需的信息。

由于某种原因,我无法使用返回的驱动程序实例调用第二个函数。

想知道是否有人对如何将Webdriver实例传递给另一个功能有任何见解?谢谢。

2 个答案:

答案 0 :(得分:0)

  

如何将Webdriver实例传递给另一个函数?

您将从第一个函数返回实例,并使用它调用第二个函数。

在下面的示例中,我定义了2个函数。在func1内实例化了一个Webdriver,它返回实例。然后,我调用func2,它将驱动程序实例作为参数。

from selenium import webdriver

def func1():
    driver = webdriver.Chrome()
    driver.get('https://example.com')
    return driver

def func2(driver):
    return driver.title

if __name__ == '__main__':
    driver = func1()
    title = func2(driver)
    print(title)
    driver.quit()

此代码将启动浏览器(Chrome),导航到网站(https://example.com),打印页面标题(“示例域”),然后退出浏览器。

答案 1 :(得分:0)

或者,扩展Corey Goldberg的答案。只需将驱动程序的引用传递给使用该驱动程序的所有函数就可以了。

context='scriptToken'