Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.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# 如何让Selenium与ASP.NET核心一起工作?_C#_Selenium_Asp.net Core_Selenium Webdriver_Blazor - Fatal编程技术网

C# 如何让Selenium与ASP.NET核心一起工作?

C# 如何让Selenium与ASP.NET核心一起工作?,c#,selenium,asp.net-core,selenium-webdriver,blazor,C#,Selenium,Asp.net Core,Selenium Webdriver,Blazor,我在VisualStudio中使用Blazor服务器应用程序模板制作了这个项目(我也尝试了MVC,但问题是相同的),并从NuGets下载了Selenium.WebDriver和Selenium.WebDriver.GeckoDriver(因为我使用的是Firefox) 每当我运行我的应用程序,并且达到webdriver实例化时,我都会遇到以下错误: System.InvalidOperationException:'无法启动浏览器C:\Program Files\Mozilla Firefox\

我在VisualStudio中使用Blazor服务器应用程序模板制作了这个项目(我也尝试了MVC,但问题是相同的),并从NuGets下载了Selenium.WebDriver和Selenium.WebDriver.GeckoDriver(因为我使用的是Firefox)

每当我运行我的应用程序,并且达到webdriver实例化时,我都会遇到以下错误:

System.InvalidOperationException:'无法启动浏览器C:\Program Files\Mozilla Firefox\Firefox.exe:句柄无效。(操作系统错误6)(会话未创建)'`


虽然我不清楚,但我的直觉告诉我,它试图在IIS上运行的web应用程序范围内运行webdriver,这可能会导致问题;i、 e.一个浏览器不能启动另一个浏览器。但我不知道这是不是真的。。。如果我制作一个.NET Core Console应用程序模板项目并复制webdriver代码,它就可以正常工作

我的代码非常基本,因此几乎没有理由发布它,但为了完整起见:

@page "/counter"
@using OpenQA.Selenium;
@using OpenQA.Selenium.Firefox;

<h1>Start Firefox GeckoDriver</h1>

<button class="btn btn-primary" @onclick="StartFirefox">Run</button>

@code {
    private void StartFirefox()
    {
        IWebDriver driver = new FirefoxDriver() {
            Url = "https://www.google.com/"
        };
    }
}
@page”/counter
@使用OpenQA.Selenium;
@使用OpenQA.Selenium.Firefox;
启动FirefoxGeckodriver
跑
@代码{
私有void StartFirefox()
{
IWebDriver=新的FirefoxDriver(){
Url=”https://www.google.com/"
};
}
}
我把它放在一个剃须刀的页面上只是为了测试一下。我已经试着把它放在
Program.cs:Main
中作为第一件要运行的东西,甚至注释掉主机生成器。不管怎样,IIS(我想?)总是先启动浏览器

我不知道这个错误是什么意思<代码>句柄无效没有任何帮助

相关职位:

他说,他将个人资料从
iisexpress
更改为他的项目名称,从而实现了这一目标。我也试过同样的方法,但确实奏效了。但是为什么呢


尝试在无头模式下初始化FirefoxDriver。@GregBurghardt同样的错误,没有任何更改。“一个浏览器无法启动另一个浏览器”--IIS不是web浏览器。不过,你是对的。web浏览器进程的所有者将是IIS进程的所有者。如果IIS进程的所有者对web驱动程序可执行文件或web浏览器可执行文件没有执行权限,则一切都将无法进行。