Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法加载文件或程序集';SeleniumExtras.WaitHelpers_C#_Selenium_Selenium Webdriver_.net Core_Webdriverwait - Fatal编程技术网

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项目分散注意力。

改进了格式。