![](/img/trans.png)
[英]Selenium WebDriver Chrome could not be started in Powershell
[英]Automating Chrome WebDriver - Select Date from DatePicker using PowerShell and Selenium
非常感謝:
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 將密鑰發送到日期選擇器。
根據此網絡鏈接,這就是他們使用 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?
感謝您對博客的提及,老實說,我不知道我是如何理解您的問題的,但我在谷歌搜索其他內容時做到了。 在 PowerShell 中完全可行,請在加載 Selenium 的類后像這樣嘗試。
$ChromeDriver.Navigate().gotourl('https://jqueryui.com/datepicker/')
# The following changes the frame, won't give an ugly error out if it fails:
try {$ChromeDriver.SwitchTo().Frame(0) | Out-Null} catch {}
$ChromeDriver.FindElementsById('datepicker').click()
# For the following, [2] is the month you pick, [2] == March
$ChromeDriver.FindElementsByXPath("//div[@id='ui-datepicker-div']/div/a[2]/span").click()
# For the following, "10" picks the day of the month, in this case, the 10th
$ChromeDriver.FindElementByLinkText("10").Click()
和平! - M6k
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.