从IIS调用Chrome WebDriver时不会打开



我有一个非常奇怪的问题(我非常怀疑它会在IIS方面(。

我有.NETCORE6应用程序,它通过IHostedService使用Selenium。

有一些案例是有效的:

  • 如果我从Visual Studio的IIS本地启动应用程序,浏览器就会打开
  • 如果我从CMD启动应用程序(作为自托管(,浏览器将打开
  • 如果我从服务器上的CMD(作为自托管(启动应用程序,浏览器就会打开

但是

如果我从服务器上的IIS启动应用程序,测试正在运行(看起来像在无头模式下(,但浏览器不会显示。

有人有IIS的经验吗?

我尝试了不同的IIS池标识,并以DefaulPoolIdentityLocalServiceLocalSystem的身份执行了该应用程序,甚至以拥有管理员权限的用户的身份执行,但浏览器仍然是隐藏的。

附加说明:

  • 我还检查了浏览器是否以最大化模式启动,并在正确的屏幕上启动

所以问题是如何在打开web浏览器的情况下通过IIS从服务器启动应用程序?(肯定有解决方案吧?(

Lex Li的答案是正确的,所以如果其他人找到了答案,请阅读文章https://blog.lextudio.com/web-application-differences-in-visual-studio-and-iis-60fec7e311b3

如果手动启动chromedriver,然后使用Selenium Grid调用它,浏览器就会打开。

驱动程序配置类似

var uri = new Uri("http://localhost:9515/"); --my chromedriver uri
var driver = new RemoteWebDriver(uri, new ChromeOptions());
...

最新更新