「とりあえずSelenium」のときはChromeを使ったほうが楽かもしれない
2016 年 7 月 19 日 by 山平スクレイピングなど、とりあえずSeleniumで結果を確認しながら作りこみたい場合、利用するブラウザはFirefoxよりもChromeのほうが、余計な手間がかからなくて良いかもしれない、とおもった出来事があったので備忘録として残します。
スクレイピングなど、とりあえずSeleniumで結果を確認しながら作りこみたい場合、利用するブラウザはFirefoxよりもChromeのほうが、余計な手間がかからなくて良いかもしれない、とおもった出来事があったので備忘録として残します。
PowerShellで別のファイルサーバにフォルダを作成した後、共有の設定を行いたい場合がありました。
別サーバにフォルダを作成する方法はNew-Itemコマンドレットを使用して以下のように簡単に行うことができます。
New-Item "\\[サーバ名]\[親共有名]\[作成したいフォルダ名]" # 例) New-Item "\\A-Server\share\createFolder"
作成したフォルダ(createFolder)に共有を設定したい(共有名:B-Folder)場合、New-Itemコマンドように簡単に設定を行うことはできません。
New-SmbShare –Name "[共有名]" –Path "[共有先フォルダ]" -FullAccess "everyone" # 例) New-SmbShare –Name "B-Folder" –Path "\\A-Server\share\createFolder" -FullAccess "everyone"
やはり、GUIを使用して手動で設定する方法と同様に共有フォルダを指定して、別サーバの共有設定を行うことはできません。
(さらに…)
タイトルそのままですが、最近Rakeを使ってみて、勘所を残しておきたいと思います。
Rake とは
Rake は Make によく似た機能を持つ Ruby で書かれたシンプルなビルドツールです。
Rake は以下のような特徴を持っています。
- Rakefile (Rake における Makefile) は標準的な Ruby の文法で書くことができます。 XML ファイルを編集する必要はありませんし、Makefile の風変わりな文法 (タブだっけ?スペースだっけ?) に頭を悩ませる必要もありません。
- ユーザは必須条件をタスクに指定できます。
- Rake は暗黙のタスクを合成することをサポートしています。
- 配列のように振る舞うフレキシブルな FileList メソッドがあります。 FileList はファイル名やパス名を扱うのに便利です。
- Rakefile をより簡単に作成するためにこのライブラリにはいくつかのタスクが同梱されています。
Seleniumでブラウザを使った自動テストは便利ですが、GUIがシビアなWebアプリケーションの実行は気を使います。
たまたまマウスカーソルがSelenium実行中のブラウザの上に乗ってしまったことで、onMouseOver/onMouseOut等のイベントが走って、自動テストがエラーになってしまい、テストのやり直しに…なんてことが、私はありました。
ブラウザの自動テストといえばSeleniumです。
要はブラウザを操作するライブラリ(WebDriver)なので、ブラウザを使った自動操作全般に使うことができてとても使い勝手の良いツールだったりします。
先日、とあるツールを作っている途中で気づいたのですが、Seleniumってテキストノードを取得することができないんでしょうか?
Firefoxで画像を参照しているといきなりファイル保存ダイアログが表示されてしまいました。

他のIE11やGoogleChromeでは、ちゃんと画像が表示されます。

FirefoxでもIE11やGoogleChromeと同様にブラウザ上で画像を表示してくれる場合があります。
その違いは、拡張子が大文字か小文字かの違いでした。
前回、Jekyll(Octopress)の記事生成時に、記事用のディレクトリと、画像用のディレクトリを作成しました。
折角、画像用のディレクトリを作成しても、パスの指定までは面倒見てくれないので、あまり便利になった実感が沸きません。
そこで今回は、画像のパスを勝手に指定してくれるように手を加えていきます。
それなりにイケてる静的サイトが簡単に作れるJekyllはとても便利です。
さらにちょっと面倒な下準備まで済ませてくれているOctpressが私のお気に入りです
Jekyllにはちょっとだけ気に入らないところがあって、記事を1つのディレクトリ内に延々と書き溜めていかなければならない点でした。
過去にテキストベースでCMSを自作した際に、同じ問題でとても苦労したことがあったからです。
ところがある日以下のような記事を見かけました。
なんと。。
ちゃんとソースを読まないとダメですね。。
JavaScriptのDateが不親切なのは周知の事実だと思いますが、以下のようなサイトを見つけました。
この記事によれば、setDate、setMonth、setYearに数字を入れれば良いだけ、ということになります。
じゃあ1日-1は0日とか、31日+1日は32日と言う指定の場合はどうなるのか、試してみました。
KnockoutJSを使ってSVGを制御するサンプルを作ってみました。
こんな感じです。
長らくSVG実装が出揃わない状況が続いていましたが、最近やっと落ち着いてきました。
慣れ親しんだDOM操作で厳密な座標が制御できるSVGは、Web上でちょっとしたグラフ等を表示するのにとても都合がいいです。
また、MVVMによる画面制御も、jQueryのセレクタ管理に疲れた体にとてもやさしいです。
データを更新するだけでKnockoutJSがDOMを更新してくれるので、画面制御のためのコードがありません。
上のサンプルはHTMLとJavaScriptあわせて50行に満たない簡単なものですので、解説は不要だと思います。
以上です。