【发布时间】:2020-02-05 01:57:40
【问题描述】:
非常感谢:
https://tech.mavericksevmont.com/blog/powershell-selenium-automate-web-browser-interactions-part-i/
https://tech.mavericksevmont.com/blog/powershell-selenium-automate-web-browser-interactions-part-ii/
激励我自动化 Chrome 以执行我每天执行的冗余任务。
我希望我可以选择一个日期,而不是在 PowerShell 中使用 Selenium 将密钥发送到日期选择器。
根据this weblink,这就是他们使用 Python 的方式。该任务非常简单,而且 PowerShell 在依赖关系方面没有膨胀。
这是我无法解决的各种错误的故事:
$URL = "https://jqueryui.com/datepicker/"
[OpenQA.Selenium.Chrome.ChromeOptions]$ChromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions
$ChromeOptions.PageLoadStrategy = "eager"
$ChromeOptions.addArguments('start-maximized')
$ChromeDriver = New-Object -TypeName "OpenQA.Selenium.Chrome.ChromeDriver" -ArgumentList @($ChromeOptions)
$ChromeDriver.Navigate().GoToURL($URL)
$Frame = 0
$SelectFrame = $ChromeDriver.SwitchTo().Frame($Frame)
$SelectFrame.FindElementByXPath("//*[@id='datepicker']").click()
$SelectDate = "15"
$dateWidget = $ChromeDriver.FindElementById("ui-datepicker-div")
$cols = $dateWidget.FindElementByTagName("td")
foreach ($cells in $cols) {
$date = $cells.getText()
if($date -eq $SelectDate) {
$cells.FindElementByLinkTest($date).click()
break
}
}
Pause
Function Stop-ChromeDriver {Get-Process -Name chromedriver -ErrorAction SilentlyContinue | Stop-Process -ErrorAction SilentlyContinue}
$ChromeDriver.Close()
$ChromeDriver.Quit()
Stop-ChromeDriver
是否也可以使用 PowerShell?
【问题讨论】:
-
这是本地浏览器日期选择器还是 JavaScript 表示选择器?它是 JavaScript 日期选择器吗,您需要告诉我们是哪一个并为其提供 HTML,因为它需要一些自定义代码才能与之交互。
标签: powershell selenium google-chrome webdriver