Chrome 从 IIS 调用时 WebDriver 不打开
Chrome WebDriver does not open when called from IIS
我有一个非常奇怪的问题(我非常怀疑它会在 IIS 端)。
我有 .NETCORE6
应用程序,它通过 IHostedService
使用 Selenium。
有有效的案例:
- 如果我从 Visual Studio 的本地 IIS 启动应用程序,浏览器会打开
- 如果我从 CMD 启动应用程序(作为自托管),浏览器会打开
- 如果我从服务器上的 CMD(自托管)启动应用程序,浏览器就会打开
但是
如果我从服务器上的 IIS 启动应用程序 - 测试是 运行(看起来像无头模式)但未显示浏览器。
有人使用过 IIS 吗?
我尝试了不同的 IIS 池身份 - 并以 DefaulPoolIdentity
、LocalService
、LocalSystem
甚至我拥有管理员权限的用户身份执行应用程序 - 但浏览器仍然隐藏。
补充说明:
- 我还检查了浏览器是否以最大化模式启动并在正确的屏幕上启动
所以问题是如何在打开网络浏览器的情况下通过 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());
...
我有一个非常奇怪的问题(我非常怀疑它会在 IIS 端)。
我有 .NETCORE6
应用程序,它通过 IHostedService
使用 Selenium。
有有效的案例:
- 如果我从 Visual Studio 的本地 IIS 启动应用程序,浏览器会打开
- 如果我从 CMD 启动应用程序(作为自托管),浏览器会打开
- 如果我从服务器上的 CMD(自托管)启动应用程序,浏览器就会打开
但是
如果我从服务器上的 IIS 启动应用程序 - 测试是 运行(看起来像无头模式)但未显示浏览器。
有人使用过 IIS 吗?
我尝试了不同的 IIS 池身份 - 并以 DefaulPoolIdentity
、LocalService
、LocalSystem
甚至我拥有管理员权限的用户身份执行应用程序 - 但浏览器仍然隐藏。
补充说明:
- 我还检查了浏览器是否以最大化模式启动并在正确的屏幕上启动
所以问题是如何在打开网络浏览器的情况下通过 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());
...