0

私はセレンrcを使用して実行しています

selenium.getText("//div/div[2][contains(@id,'gp-PACKAGE NAME-')]/div["+i+"]/table/tbody/tr/td["+1+"]/div")

このコマンドを 20 ~ 30 行で実行する必要があり、20 ~ 30 分かかります。selenium.getTextテーブルの dom オブジェクトを取得し、行ごとに実行するのではなく、Java を使用して解析したいと考えています。

私の期待は、セレンからすべての行の dom オブジェクトを取得し、いくつかの dom パーサーを使用してセレンの外部で xpath クエリを実行することです。

4

1 に答える 1

0

使用する xpath 解析エンジンがわかっている場合は、いつでも //div/div[2][contains(@id,'gp-PACKAGE NAME-')] の HTML を渡すことができ、その後は何をしてもかまいません。それにやりたかった。

そのために必要なのは、Javascript とgetEvalを使用して html を取得することだけです。

selenium.getEval("var document = selenium.browserbot.getcurrentwindow().document;" +
    "var xpathResults = document.evaluate('//div/div[2][contains(@id,\"gp-PACKAGE NAME-\")]', document, null, XPathResult.ANY_TYPE, null);" +
    "var element = xpathResults.iterateNext();" +
    "var innerHtml = element.innerHTML;"
);
于 2012-08-18T14:34:33.907 に答える