c# - Selenium WebDriver 不能在 IIS 10 上启动,但如果应用程序托管在 InProcess 上,则可以正常工作
问题描述
我有一个ASP.NET MVC CORE 3.0
应用程序,我的要求是Selenium
在IIS 10
. 当我托管我的应用程序InProcess
时,它可以工作,一旦我切换到IIS
它就会停止工作(没有任何错误消息并且无论应用程序池配置文件如何)。我有以下代码,但我相信该代码与这个特定问题无关。
public void OpenOrReuseDriver(bool headlessMode = false, bool reuse = true)
{
if (!_driver.IsClosed()) return;
if (reuse && _drivers.Any() && _drivers.Last().IsOpen())
_driver = _drivers.Last();
else
{
var chromeService = ChromeDriverService.CreateDefaultService($@"{AppDomain.CurrentDomain.BaseDirectory}"); // Directory.GetCurrentDirectory() // AppDomain.CurrentDomain.BaseDirectory // Directory.GetCurrentDirectory()}\wwwroot
var chromeOptions = new ChromeOptions
{
BinaryLocation = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
};
if (headlessMode)
{
chromeOptions.AddArguments(new List<string>
{
"--silent-launch",
"--no-startup-window",
"no-sandbox",
"headless"
});
chromeService.HideCommandPromptWindow = true;
}
_driver = new ChromeDriver(chromeService, chromeOptions);
var size = new Size(1240, 720);
_driver.Manage().Window.Size = size;
_driver.Manage().Window.Position = PointUtils.CenteredWindowTopLeft(size).ToDrawingPoint();
_driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(60);
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
_drivers.Add(_driver);
}
}
我想知道可以使用的Selenium
步骤IIS
。
解决方案
推荐阅读
- python - 使用点积将向量矩阵相乘
- r - Colon-Equals 运算符的正确用法
- slick.js - 非无限自动播放的 Slick Slider (v1.8.0) 问题
- r - 对 238 列重复相同的 3 个命令,df$X1 到 df$X238
- python - 在 python 中对 postgresql 执行多个查询的更快方法
- java - 尝试运行基本的 sse grizzly/jersey 服务器时总是出现相同的警告
- php - 使用魔术常量访问对象属性
- firebase - TypeError: this.f 不是构造函数 | firebase.auth()
- python - AttributeError: 'str' object has no attribute 'descendants' 使用 BeautifulSoup 时出现错误
- java - ListCell 中的 JavaFX 自定义节点