0

我正在使用 selenium rc 和 exetuing

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

我必须为 20-30 行执行此命令,这需要 20-30 分钟。我想获取表的 dom 对象并使用 java 解析它,而不是selenium.getText为每一行执行。

我的期望是,我从 selenium 获取所有行的 dom 对象,并使用一些 dom 解析器在 selenium 之外执行 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 回答