url |
^https://(pink\.)?novelpia\.jp/(viewer|novel)/\d+ |
pageElement |
//div[@id='novel_text']/ol[@id='novel_drawing']/*[not(child::div[child::img]) and not(@id='writer_comments_box') and not(@id='next_e_btn_bottom') and not(@class='is-last-btn') and not(@id='next_epi_btn_bottom')]/text() |
title |
//div[@id='header_bar']//*[contains(@onclick,'pageload(')]/b[@class='cut_line_one'] |
subtitle |
//div[@id='header_bar']//*[contains(@onclick,'pageload(')]/span[@class='cut_line_one'] |
author |
//tbody[not(child::tr[@class='more_info'])]//a[contains(@href,'/user/')] |
tag |
//tbody[not(child::tr[@class='more_info'])]//span[contains(@onclick,'/search/hash/') and contains(@onclick, 'location=')] |
isNeedHeadless |
true |
nextButton |
#next_epi_btn_bottom |
firstPageButton |
#episode_list_box table td[onclick] |
forceClickButton |
button.auth-yes |
waitSecondInHeadless |
2.0 |
injectStyle |
ol {list-style: none;} font { white-space: pre-wrap; } |
exampleUrl |
https://novelpia.jp/novel/1272 |
memo |
かなーりトリッキーな事をしているのでメモを残す。
このサイトは ol の中に font があってその中に文字が書かれているんだけれども、どうやら NSAttributedString に変換した時か何かで ol/font には 1. 2. 3. みたいな数字が付与されてしまう。
そのため、 injectStyle で ol {list-style: none} にするのだけれど、どうにもそれだけだと . (ピリオド) は消えないようである。
そこで、ol/font については /text() で文字列だけを取り出すようにして、その上で font { white-space: pre-wrap } で強制的に改行を入れさせるように対応した。 |