AutoPagerizeのルールを作る

   var SITEINFO = [
        {
            url:          'http://.*amazon.co.+/gp/(best|move)',
            nextLink:     '//td[@class="paginationCurPage"]/following-sibling::td[position()=2]/a',
	    insertBefore: '//div[@class="list"]/following-sibling::node()',
            pageElement:  '//div[@class="list"]',
        },
    ]

こんな感じに、まずはautopagerize.user.jsを修正して実験できる。

作ってみる

  • C:\Documents and Settings\eto\Application Data\Mozilla\Firefox\Profiles\hxyi2yr3.default\gm_scripts\autopagerize.user.js を開く
    var SITEINFO = [
        {
            url:          'http://mixi.jp/list_friend.pl*',
	    nextLink:     '//a[starts-with(text(),"次を")]',
            insertBefore: '//table[@cellpadding="2"]/following-sibling::node()',
            pageElement:  '//table[@cellpadding="2"]',
        },
    ]

悪戦苦闘

  • すんなりうまくいったかというと、そうでもない。かなり悪戦苦闘した。
  • まずmixiのhtmlが異常。最初にトライする対象としてはhardだった。
  • starts-withを使って、a linkの中身のテキストで指定できる
  • /following-sibling::node()を使って、insertAftrer相当を実現できる
  • table[@cellpadding="2"] というのが今回の肝であるが、これはBKすぎる…

Wikiに追記する

### [mixi] friends list (http://mixi.jp/)
<textarea class="autopagerize_data" readonly="readonly">
url:          http://mixi.jp/list_friend.pl*
nextLink:     //a[starts-with(text(),"次を")]
insertBefore: //table[@cellpadding="2"]/following-sibling::node()
pageElement:  //table[@cellpadding="2"]
</textarea>
  • 記述を追加する。場所はABC順となっている。
  • http://mixi.jp/list_friend.pl ←ページをreloadして、まだ動作しないはず
  • 右下のサルを右クリック→ユーザスクリプトコマンド→AutoPagerize - clear cache
  • reloadする→これでもまだ動作しない
  • Firefoxを再起動する→ほげほげしていたら動作するようになった
Last modified: 2007-08-10