使用 PowerShell 和 Selenium 4 查找元素
Posted
技术标签:
【中文标题】使用 PowerShell 和 Selenium 4 查找元素【英文标题】:Finding elements with PowerShell and Selenium 4 【发布时间】:2022-01-12 15:36:26 【问题描述】:我正在更新一些以前使用 Selenium 3.141 的 PowerShell 代码。我有以下代码sn-p:
$url = "https://<webpage.com>"
$options = New-Object OpenQA.Selenium.Chrome.ChromeOptions
$options.AddArgument("--disable-gpu")
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($options)
$driver.Navigate().GoToURL($url)
$driver.FindElementById("username")
在 Selenium 4.0 中,FindElementById 不再有效:
方法调用失败,因为 [OpenQA.Selenium.Chrome.ChromeDriver] 不包含名为“FindElementById”的方法
看看https://www.lambdatest.com/blog/what-is-deprecated-in-selenium4/,我发现这应该可以工作(在Java中):
driver.findElement(By.id("username"))
但我不知道如何将其转换为 PowerShell($driver.FindElement(By.id("username")) 不起作用)。
知道如何使用 PowerShell 和 Selenium 4 按 ID(或类、xpath 等)查找元素吗?
【问题讨论】:
【参考方案1】:指定By
的全限定类名:
$driver.FindElement([OpenQA.Selenium.By]::Id("username"))
使用::
访问器是因为Id()
方法是By
类的静态成员。
【讨论】:
以上是关于使用 PowerShell 和 Selenium 4 查找元素的主要内容,如果未能解决你的问题,请参考以下文章
powershell 使用PowerShell安装和更新NuGet
powershell 使用PowerShell安装和更新NuGet
powershell 使用路径和参数调用Powershell脚本