読者です 読者をやめる 読者になる 読者になる

Lesaria の Multiple-Choice

とりあえず、日記がメインのはず。最近では、小説を公開したり、聴いた音楽や考えてることについて話してます。

Selenium IDE で 外部ファイルを実行する備忘録

IT技術

Selenium IDE から 外部のファイルを起動実行したい欲求があったのですが、最近ブレイクスルーしたのでメモ書きします。

課題はこの二つでした。

1.FirefoxからJavaScriptで外部ファイルを実行する。
2.Selenium IDE の getEval で 半角「¥」文字をうまく処理する。

 

1.FirefoxからJavaScriptで外部ファイルを実行する。

これは以下のサイトを参照して簡単に解決

Firefox拡張で外部コマンド叩きたいやつのときどうするか - nariのぶろぐ

Running applications - Mozilla | MDN


この段階ではこういうスクリを書きました。だけどこれではうまく行かなかったのです。

getEval
 
 
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath('c:\windows\explorer.exe');
file.launch();

※実行するとExplorerが立ち上がる想定です。

 

 

 

2.Selenium IDE の getEval で 半角「¥」文字をうまく処理する。

Selenium IDEはスクリのファイルをHTMLで保存しており、その制約の中、JavaScript のEscape文字を書くと・・・とちょっと割愛しますが、色々あり、パスの指定が旨くないので。JavaScriptで変数に文字をキャラクターコードを指定して入力。以下みたいな具合に(w

 

sString = String.fromCharCode(0x5c)

 

それからファイルパスを合成します。

こんな具合に

 

 'c:' + sString + 'windows' + sString + ' explorer.exe'

 

それを反映させたのがこのスクリプトです。

getEval
 
 
sString = String.fromCharCode(0x5c);
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath('c:' + sString + 'windows' + sString + ' explorer.exe');
file.launch();

 ※実行するとExplorerが立ち上がります

 

 

 この方法で実行すると、実行ファイルでなくても、アプリの関連付けられたファイル形式なら、アプリに渡って、起動します。テキスト文章を渡すとエディタで開き、画像ファイルなら、画像VIEWER、VBSも実行できます。

 

今日は帰宅中、途中まで、プロファイリングの試みの続きを書くつもりが、朝にググって調べた内容から、ちょっと関心がコッチにズレました(w 今読んでる本から察するに、発達課題と防衛機制を関連付けて考えるのは比較的当たり前の事のようです。古い発達課題に対する固着が個性になるというのもフロイトの時代からある考えだそうです。