我有一个 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 脚本时使用它。
2 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
您还可以尝试使用 C# 驱动程序直接从 powershell 运行您的 selenium 自动化。提取 WebDriver.dll(来自 Selenium.WebDriver.3.14.0.nupkg)并将其与您的 PS 脚本以及 geckodriver.exe(如果使用 firefox)一起放在文件夹中。下面是一个示例脚本,您可以将其用作起点:
Add-Type -Path ".\WebDriver.dll"
# put geckodriver.exe in the same folder
$driver = [OpenQA.Selenium.Firefox.FirefoxDriver]::new()
$driver.manage().timeouts().ImplicitWait = [timespan]::FromSeconds(5)
$driver.Navigate().GoToUrl("someurl")
$driver.FindElementByCssSelector(".some-button").Click()
$driver.quit()
添加回答
举报
0/150
提交
取消