2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WSLからWindows側のSelenium-Standaloneを起動したい

Posted at

NodeJSのライブラリ、selenium-standaloneはご存知でしょうか?
NodeJSとJavaを事前にインストールしておく必要はありますが、Windowsでもコマンド一発で、Selenium + インストール済みのブラウザに対応したWebDriverを自動でインストールしてくれるのでとても便利ですね。

さて、Windowsで開発している人の多くはWSL(Windows Subsystem for Linux)を利用しているかと思いますが、Windows側にインストールしたブラウザをselenium-standaloneで自動操作するには、selenium-standaloneもWindows側でインストールしておかないといけません。
とはいえ、わざわざSeleniumを使いたい時だけPowerShellを起動するのも面倒ですし、Linux側から起動できるといいですね。

というわけで、その方法がこちらです。


cmd.exe /c selenium-standalone.cmd install  # SeleniumやWebDriverなどのダウンロード
cmd.exe /c selenium-standalone.cmd start  # Seleniumサーバの開始

上記をbash上で実行すると、Windows側のselenium-standaloneコマンドが実行されます。
PowerShellやコマンドプロンプトで selenium-standalone を実行する場合と同じことになります。

解説

WSLからWindows側のコマンドを実行するには、実行したいコマンドを 拡張子付き で指定する必要があります。
例えば、bash上で下記のように実行すると、Windows側のselenium-standaloneが呼び出されます。

$ selenium-standalone.cmd start

コマンドの拡張子を知りたい場合は、PowerShellでGet-Commandを使うと知ることができます。

PS C:\Users\tsemura > Get-Command selenium-standalone

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     selenium-standalone.cmd                            0.0.0.0    C:\Users\tsemura\AppData\Roaming\npm\sel...

さて、ただの実行ファイル(.exe ファイル)であれば単に拡張子付きで実行すればよいのですが、バッチファイルなどの場合はこのままでは実行できないので、コマンドプロンプト経由で実行する必要があります。
と言っても、Windows側でコマンドプロンプトを起動する必要はありません。bashでcmd.exeを実行し、実行時オプションで実行したいコマンドを渡してあげればOKです。


cmd.exe /c selenium-standalone.cmd start

というわけで、↑が最終的に実行するコマンドになります。
頻繁に使う人はaliasなどに登録しておくとよいでしょう。

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?