C# 无法加载文件或程序集';SeleniumExtras.WaitHelpers
我正在尝试使用C# 无法加载文件或程序集';SeleniumExtras.WaitHelpers,c#,selenium,selenium-webdriver,.net-core,webdriverwait,C#,Selenium,Selenium Webdriver,.net Core,Webdriverwait,我正在尝试使用 wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.Id("logonIdentifier"))); 但是,我遇到一个错误,无法加载文件或程序集“SeleniumExtras.WaitHelpers”。我正在使用 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup>
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>
netcoreapp2.1
netcoreapp2.1
假的
真的
它在本地工作,但是当我尝试将它推送到testproject.io时,我得到了上面的错误消息。
我无法将其更改为推荐的selenium web驱动程序版本。您使用的软件包与.NET Core不兼容。通过对代码进行一些重新构造,您所需要的内容可以通过
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
非常有趣的是它的主页,但当你搜索时,你往往会被SeleniumExtras项目分散注意力。改进了格式。