0

我正在尝试编写一个脚本,该脚本将能够根据输入的 csv 文件处理多种可能性。它将确定要访问哪些网页,以及要创建/上传哪些内容。我正在将 Selenium Webdriver 与 Python 一起使用。

我想对其进行设置,以便每个函数都位于由父文件调用的单独文件中。

有没有办法创建一个firefox配置文件,然后将该配置文件传递给一个函数来登录。然后将相同的配置文件传递给一个不同的函数来上传特定的内容。我希望它能够将配置文件传递给需要许多功能,而无需为每个上传实例创建新的配置文件?

现在我把它设置为一个函数,里面写了所有的可能性。我更愿意将其简化为仅在需要时调用的单独函数。

这可能吗?如果是这样怎么办?

我正在使用 Python 2.7

谢谢

4

1 回答 1

1

如果我正确理解了您的问题,您可以简单地创建配置文件,然后在您调用它们时将其用作不同函数中的参数。例如,假设您有以下 Firefox 配置文件:

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", download_folder)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain")

然后使用该 Firefox 配置文件作为其他函数的参数:

def your_function1(fp):
    # a bunch of code
    browser = webdriver.Firefox(firefox_profile = fp)

def your_function2(fp):
    # a bunch of code
    browser = webdriver.Firefox(firefox_profile = fp)

# etc

然后您只需根据需要调用这些函数。

于 2013-09-19T16:09:36.280 回答