硒与电子骨架的连接(C#)

时间:2018-07-02 12:30:50

标签: c# selenium selenium-webdriver electron spectron

我已经使用Selenium Webdriver用C#编写了几行代码。当我的应用程序转移到Electron框架后,一切都发生了变化,说实话,我现在不知道如何应对。

您能告诉我一下吗?我应该采取什么步骤来简单地开始...我想继续当前项目(Selenium,C#)中的工作,但是我不确定是否有可能,或者我应该完全使用其他语言从头开始,并且框架?

我已经阅读了有关Spectron的内容,并检查了stackoverflow之类的Internet资源,但是我仍然不了解...

2 个答案:

答案 0 :(得分:2)

带摩卡咖啡的Spectron应该更快。

但这仍然是您所需要的。这是Java和Selenium。

System.setProperty("webdriver.chrome.driver","C:\\electron-chromedriver\\bin\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setBinary("C:\\Users\\app.exe");
chromeOptions.addArguments("start-maximized");
DesiredCapabilities capability = new DesiredCapabilities();
capability.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
capability.setCapability("chromeOptions", chromeOptions);       
driver = new ChromeDriver(chromeOptions);  

我已将打包的电子应用程序用于二进制(即 app.exe )。

我认为这就是您所需要的。

答案 1 :(得分:0)

下面描述的是使用 Electron 和 .Net C# OpenQA.Selenium。

如果你想运行正在开发的电子应用程序(由文件 index.html、main.js 等组成),你必须添加以下选项(注意 'app=' in cmd 参数):

var options = new ChromeOptions();
options.BinaryLocation = @"your_path_to_electron\electron.exe";
options.AddArgument(@" app=path_to_folder_with_your_electron_app_src");

但是如果你想运行打包的电子应用程序(*.exe),使用它就足够了:

var options = new ChromeOptions();
options.BinaryLocation = @"path_to_folder_with_your_electron_app\your_electron_app.exe";

您也可以启动任何版本的 chromedriver.exe

var service = ChromeDriverService.CreateDefaultService(path_to_folder_with_driver);
var driver = new ChromeDriver(service, options);

这可能会有所帮助,因为我知道不同的电子应用程序是基于使用不同版本的驱动程序构建的。