使用依赖于URL的登录凭据

时间:2018-04-03 17:34:08

标签: python python-3.x

我创建了一个带有多个参数的函数,包括:

  

URL
  用户名
  密码
  downloaded_filename
  new_filename_name

示例代码:

def reports(url, usr, pass, downloaded_filename, new_filename_name):
    driver = webdriver.Chrome('location of webdriver')
    driver get(url)
    usernamebox = driver.find_element_by_name('username')
    userbox.send_keys(username)
    ....

我用它来登录多个站点并下载报告。

但我将所有上述变量定义为特定名称。有没有办法可以将这些变量分配给一个函数,以便只需要更新变量的函数名称?有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

如果您确定在调用方法的任何实例中都不需要更改它们,则可以在脚本顶部的方法体外声明它们。

您的示例脚本如下所示:

from yourImports import *
# just below your import statements

url = r'https://your_url.com'
usr = 'the_username'
password = 'your password'
downloaded_file_name = r'myFile.txt'
new_file_name = 'my_new_file'

def reports():
    driver = webdriver.Chrome('location of webdriver')
    driver get(url)
    usernamebox = driver.find_element_by_name('username')
    userbox.send_keys(usr)
    ....
  

我强烈建议不要将pass用作password的变量名,因为pass在python中是已知的keyword,并且命名变量会影响关键字< strong>和python解释器不允许它。

其他方法:

  1. 使用dictionary保存值并使用keys获取值。
  2. 使用配置文本文件存储这些内容并将它们放在目录路径中,这样如果打包代码(如.exe)并且想要更改这些凭据,则可以只更改配置文件