投稿

8月, 2015の投稿を表示しています

VirtualBox上のWindows8をWindows10にアップグレードする

Windows 10 へのアップデートを行うには、ステータスバーに出てきたWindowsアップデートアイコンをクリックすれば良い。 しかし、VirtualBox上のWindows8.1の場合、VirtualBoxの仮想ビデオドライバ (VirtualBox graphics adapter for windows 8)がWindows10と互換性がない旨のメッセージが出て、アップデート出来ない。 回避方法だが、 virtualbox.org • View topic - Cannot force update to Windows 10 from Windows 7 Pro (Guest) ここにあるように、 Microsoft公式ページから Windows 10 ISO をダウンロードする。 エディションは、Windows 10 の 64bit にした。 VirtualBoxの仮想マシンの設定を変更。 一般→基本→タイプを Windows 10にする。システム→マザーボード→起動順序、ハードディスクを1番目に変更。Windowsを起動する。起動中にISOをマウントし、Windows内からアップデートをかける。 で、できた。 ちなみに、クリーンインストールに近いことをしたければ、アプリも個人ファイルも引き継がねば良い。 (なお、インストール後にPCの初期化を行うと、うまく行かなかったので、インストール前にスナップショットをとっておくと良いかもしれない。)

Selenium + PhantomJS を使う

ウェブインタフェイスの動作試験など、ある種の用途には、 単に Requests のようなHTTPで通信をしてダウンロードするだけのライブラリではなく、 画面も描写し、JavaScriptも実行できる、そういう「本物のブラウザ」をまるごと外から制御できる仕組みが必要となる。

Selenium は、要するにそういう『スクリプトからまるごと自動制御できるブラウザ』を実現するためにライブラリとなる。
具体的には、以下のようなことが出来る。 指定したURLを開くフォームに記入をする(キーストロークを送る)ボタンなどをクリックする要素のテキストを取得する 外からJavaScriptを挿入して実行させる スクリーンショットをとるクッキーを取得する・挿入する Seleniumから制御できるブラウザは、Google Chrome, Firefox, Opera, Internet Explorer といったメジャーなブラウザもあるが、 こういったブラウザを用いる場合、Selenium実行中に裏でブラウザの画面も開くため、重かったり、取り回しが面倒だったりする。 こういうために出てきたのが、PhantomJS となる。 PhantomJS は、要するに「画面なしのSafari」みたいなもので、Selenium からとても取り扱いやすい。

install 以下は、Mac + Python 向けにインストールする手順となる。 pip install selenium brew install phantomjs pip install phantomjs
試してみる import selenium import selenium.webdriver import os driver = selenium.webdriver.PhantomJS() driver.set_window_size(1440, 800) # 画面のサイズを指定する。横幅がスクリーンショットに関係する。 driver.get("http://www.google.co.jp/") # Google を開く driver.save_screenshot(os.path.expanduser("~/Desktop/screnshot1.png")) # まずはスクリーンショットをと…