Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用命令行参数使用SeleniumWebDriver启动Electron应用程序_Java_Selenium_Selenium Webdriver_Selenium Chromedriver_Electron - Fatal编程技术网

Java 使用命令行参数使用SeleniumWebDriver启动Electron应用程序

Java 使用命令行参数使用SeleniumWebDriver启动Electron应用程序,java,selenium,selenium-webdriver,selenium-chromedriver,electron,Java,Selenium,Selenium Webdriver,Selenium Chromedriver,Electron,我有一个电子应用程序(chat.exe),使用以下代码片段,我可以用Chromedriver启动它: ChromeOptions选项=新的ChromeOptions(); options.setBinary(System.getenv(“CHAT”);//CHAT=CHAT.exe的路径 驱动程序=新的色度驱动程序(可选); 我的问题是:如何用命令行参数启动它 e、 g.chat.exe--electronPort 5000--WebPackagePort 3000--accessToken

我有一个电子应用程序(
chat.exe
),使用以下代码片段,我可以用Chromedriver启动它:

ChromeOptions选项=新的ChromeOptions();
options.setBinary(System.getenv(“CHAT”);//CHAT=CHAT.exe的路径
驱动程序=新的色度驱动程序(可选);
我的问题是:如何用命令行参数启动它

e、 g.
chat.exe--electronPort 5000--WebPackagePort 3000--accessToken 123456789

我尝试了以下方法,但没有成功:

ChromeOptions选项=新的ChromeOptions();
options.setBinary(System.getenv(“CHAT”);//CHAT=CHAT.exe的路径
options.addArguments(“--electronPort 5000--webpackPort 3000--accessToken 123456789”);
驱动程序=新的色度驱动程序(可选);
将显示以下错误:

org.openqa.selenium.WebDriverException:无法访问chrome

ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
是在非标准位置设置Chrome可执行文件,而不是设置Chrome以外的任何其他可执行文件。因为您提供了chrome以外的二进制文件(在您的情况下是CHAT.exe),所以驱动程序会打开CHAT not chrome浏览器,并抱怨chrome无法访问

Webdriver仅用于自动化web应用程序,而不用于独立应用程序自动化。为此,您可以使用其他工具,如“AutoIt”

是在非标准位置设置Chrome可执行文件,而不是设置Chrome以外的任何其他可执行文件。因为您提供了chrome以外的二进制文件(在您的情况下是CHAT.exe),所以驱动程序会打开CHAT not chrome浏览器,并抱怨chrome无法访问


Webdriver仅用于自动化web应用程序,而不用于独立应用程序自动化。为此,您可以使用其他工具,如“AutoIt”。

使用以下格式(如@user861594所指定):


以下格式有效(如@user861594所述):


也可用于自动化使用web技术创建的桌面应用程序(例如)我有很多场景正在运行中。>为了将chromedriver与Electron一起使用,你必须告诉它在哪里可以找到Electron,并让它认为Electron就是Chrome浏览器。在这种情况下,你的问题似乎是将参数传递给作为Chrome的应用程序。传递参数的语法是options.addArguments(“=”);因此,您应该尝试将每个选项设置为options.addArguments(“electronPort=5000”);options.addArguments(“webpackPort=3000”);options.addArguments(“accessToken=123456789”);谢谢你的评论。我也试过那样做,但还是不起作用。也可用于自动化使用web技术创建的桌面应用程序(例如)我有很多场景正在运行中。>为了将chromedriver与Electron一起使用,你必须告诉它在哪里可以找到Electron,并让它认为Electron就是Chrome浏览器。在这种情况下,你的问题似乎是将参数传递给作为Chrome的应用程序。传递参数的语法是options.addArguments(“=”);因此,您应该尝试将每个选项设置为options.addArguments(“electronPort=5000”);options.addArguments(“webpackPort=3000”);options.addArguments(“accessToken=123456789”);谢谢你的评论。我也试过那样做,但还是不起作用。
options.addArguments("<Key>=<value>");
options.addArguments("electron-port=5000");
options.addArguments("webpack-port=3000");
options.addArguments("access-token=12345‌​6789");