我有一个 powershell 脚本正在为我运行一些自动化操作,作为其中的一部分,我用 python 编写了一个脚本,它利用 selenium 打开网页、输入数据并退出。我需要对另一个网站做同样的事情,但它有一个登录页面。在我的 powershell 脚本中,我提示用户输入名称和密码,并将其保存到变量中。我正在努力解决的部分是将它们的输入传递到 python send_keys 函数中。这可能吗?
我的powershell代码是$usernme = Read-Host -Prompt 'Input Username'
然后在python脚本中
user = browser.find_element_by_xpath("""/elementname""")
user.send_keys('$usernme')
这仅将 $usernme 发送到我正在写入的字段,而不是 $usernme 的值。是否可以从 powershell 脚本中获取此值并在我从 powershell 中调用 python 脚本时使用它。
最佳答案
您可以在 powershell 脚本内运行 python 脚本,并使用 sys.argv[1]
提取命令参数。您可以看看sys.argv
了解更多详情。
test.ps1
:
$username = Read-Host -Prompt 'Input Username'
python script.py $username
script.py
:
import sys
print("Your Username:", sys.argv[1])
用法:
PS> .\test.ps1
Input Username: myusername
Your Username: myusername
具体到您的代码,您可以将 user.send_keys('$usernme')
更改为 user.send_keys(sys.argv[1])
。
关于python - 将变量从 Powershell 传递到 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53919693/