我正试着用
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.Id("logonIdentifier")));但是,我得到了一个错误,无法加载文件或程序集的SeleniumExtras.WaitHelpers。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DotNetSeleniumExtras.WaitHelpers" Version="3.11.0" />
<PackageReference Include="NUnit" Version="3.12.0" />
<PackageReference Include="TestProject.SDK" Version="0.63.1" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<IsPackable>false</IsPackable>
<PublishChromeDriver>true</PublishChromeDriver>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DotNetSeleniumExtras.WaitHelpers" Version="3.11.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="MSTest.TestAdapter" Version="2.1.0" />
<PackageReference Include="MSTest.TestFramework" Version="2.1.0" />
<PackageReference Include="coverlet.collector" Version="1.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\testForLogin\testForLogin.csproj" />
</ItemGroup>
</Project>它在本地工作,但当我尝试将它推送到testproject.io时,我得到了上面的错误消息。

我无法将其更改为推荐的selenium web驱动程序版本。
发布于 2020-12-10 08:50:57
您正在使用的软件包与.NET核心不兼容。通过对代码进行一些重新构造,您需要的内容可以通过
using OpenQA.Selenium.Support.UI;然后获取使用SeleniumExtras等待帮助器的代码,并更改为在驱动程序类上使用方法,例如
WebDriverWait browserWait = new WebDriverWait(driver, TimeSpan.FromSeconds(90));
browserWait.Until(driver => driver.FindElement(By.Id("logonIdentifier")).Displayed);您也可以很容易地检查驱动程序的属性,比如Url,比如
const string expectedUrl = "https://www.google.com";
browserWait.Until(driver => driver.Url == expectedUrl);然后从项目中删除不再使用的包
dotnet remove package DotNetSeleniumExtras.WaitHelpers有趣的是https://www.selenium.dev/documentation/en/的主页,但当你搜索的时候,你往往会被SeleniumExtras项目分散注意力。
https://stackoverflow.com/questions/63907276
复制相似问题