gpt4 book ai didi

powershell - 使用 PowerShell 和 Selenium 4 等待元素

转载 作者:行者123 更新时间:2023-12-02 01:51:36 24 4
gpt4 key购买 nike

我正在更新一些以前与 Selenium 3.141 一起使用的 PowerShell 代码。我有以下代码片段:

Add-Type -LiteralPath "$seleniumPath\lib\net48\WebDriver.dll"
Add-Type -LiteralPath "$seleniumPath\lib\net48\WebDriver.Support.dll"
$url = "https://<webpage.com>"
$options = New-Object OpenQA.Selenium.Chrome.ChromeOptions
$options.AddArgument("--disable-gpu")
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($options)
[OpenQA.Selenium.Support.UI.WebDriverWait]$wait = New-Object OpenQA.Selenium.Support.UI.WebDriverWait ($driver, [System.TimeSpan]::FromSeconds(60))

$driver.Navigate().GoToURL($url)
$driver.FindElementById("username")
$wait.Until([OpenQA.Selenium.Support.UI.ExpectedConditions]::ElementExists([OpenQA.Selenium.By]::Id('username')))

使用 Selenium 4.0,FindElementById 不再起作用:

Unable to find type [OpenQA.Selenium.Support.UI.ExpectedConditions].

据我所知,OpenQA.Selenium.Support.UI.ExpectedConditions 存在于 WebDriver.Support 中,对吧?

在寻找替代方案时,我找到了 SeleniumExtras.WaitHelpers,但这可能只适用于 .netstandard2.1?

最佳答案

最后,这对我有用:

Add-Type -LiteralPath "$seleniumPath\lib\net48\WebDriver.dll"
Add-Type -LiteralPath "$seleniumPath\lib\net48\WebDriver.Support.dll"
$url = "https://<webpage.com>"
$options = New-Object OpenQA.Selenium.Chrome.ChromeOptions
$options.AddArgument("--disable-gpu")
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($options)
[OpenQA.Selenium.Support.UI.WebDriverWait]$wait = New-Object OpenQA.Selenium.Support.UI.WebDriverWait ($driver, [System.TimeSpan]::FromSeconds(60))

$driver.Navigate().GoToURL($url)
$driver.FindElementById("username")

$wait.Until([System.Func[OpenQA.Selenium.IWebDriver, System.Boolean]] { param($driver) Try { $driver.FindElement([OpenQA.Selenium.By]::Id('username')) } Catch { $null } })

如果您想返回元素对象而不是 bool 值,只需将“System.Boolean”(最后一行)更改为“OpenQA.Selenium.IWebElement”即可。

关于powershell - 使用 PowerShell 和 Selenium 4 等待元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70264992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com