主要问题:如何在C#中为CEFsharp应用程序配置硒?
如果有人在配置CEFsharp应用程序中的硒时遇到问题,请查看这篇文章。我度过了艰难的时光,并搜寻了互联网以实现这一目标,并且我想与他人共享此信息。
我的环境:
答案 0 :(得分:0)
这是解决方案:
确保您的应用程序使用RemoteDebugging(在主程序文件中):
static void Main()
{
var cefSettings = new CefSettings
{
WindowlessRenderingEnabled = true,
MultiThreadedMessageLoop = true,
BrowserSubprocessPath = @"CefSharp.BrowserSubprocess.exe",
LogSeverity = LogSeverity.Error,
};
cefSettings.CefCommandLineArgs.Add("--disable-pinch", "1");
#if DEBUG
**cefSettings.RemoteDebuggingPort = port#;**
#endif
Cef.Initialize(cefSettings);
如果使用angular,请确保包含(在clientshellwinforms部分中):
#if DEBUG
_webView.Load("http://localhost:portForAngular");
#endif
要使用硒连接到应用程序,请执行以下操作:
public void Main()
{
var chromeDriverService = ChromeDriverService.CreateDefaultService();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("remote-debugging-port=port#");
chromeOptions.DebuggerAddress = "localhost:port#";
driver = new ChromeDriver(chromeDriverService, chromeOptions);
}
这时您应该可以使用硒。
注意事项:
只要应用程序启用了远程调试,就可以打开它,然后运行selenium函数。
使用chrome:// inspect(而不是调试器端口)来充分利用开发工具。
Nuget:
祝你好运!