プロダクト

JSoup

クラスで複数取得Elements masthead = doc.select("div.masthead");
クラスで単数取得Element masthead = doc.select("div.masthead").first();
階層構造で複数取得Elements resultLinks = doc.select("h3.r > a"); // direct a after h3
ファイルから読み込みDocument doc = Jsoup.parse(new File("/tmp/input.html"), "UTF-8", "http://example.com/");

HTMLUnit

HtmlElement input = page.getHtmlElementById(id);
input.setAttribute("value", value);
webClient.getPage("file:///Users/

XPath

//a[@id='idname']AタグのIDで抽出
//a[@href='/login.html']Aタグのリンク先で抽出
//input[@type='submit']type=submitのタグを取得
//input[@value='検索']検索のinputタグを取得
//td[contains(.,'検索したい文字列')]検索したい文字列が含まれているものを取得
img[alt='ログアウト']altで検索
//a[text()='ログアウト']"Aのテキストで検索
final HtmlDivision div = (HtmlDivision) page.getByXPath("//div[@name='John']").get(0);無理やりキャスト

xpathの検証

chromeのコンソールで$x('xpath')でOK!

htmlunit

主にPHPバッチで利用

クラスやID指定div[class=tbl-pc]
親子関係table tbody tr td

Selenium(java ラッパーで Selenide がある)

Macでwebdriver

成功バージョン

brew update
brew install chromedriver

失敗バージョン

brew update
brew install selenium-server-standalone
brew install chromedriver

だとだめ!jarを直接実行する。

java -Dwebdriver.chrome.bin="/Applications/Google Chrome.app" -Dwebdriver.chrome.drir=/usr/local/bin/chromedriver -jar selenium-server-standalone-3.4.0.jar

しかし上記のchromedriverさえインストールできればあとはサーバー不要なのであった!

JMeter

Geb(groovy)


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS