如何获取内容

时间:2012-07-04 18:09:45

标签: javascript xpath title html imacros

好吧,我对此很新。和iv一直试图弄清楚如何用纯javascript获得标题的价值,我相信xpath可能最快速地工作。

<ul class="room_info">
    <li>
        <span>Value:</span>
        <span class="value">
            <span class="shorthand shorthand-m">
                <span title="$60,760,150,000,000,000">$60,760,150,000&nbsp;M</span>
            </span>
        </span>
    </li>
    <li>
</ul>

这是完整的xpath表达式

html/body/div[3]/div[2]/div[3]/div[15]/div[1]/div/div[1]/div/div[1]/div[1]/ul[1]/li[1]/span[2]/span/span

我想要做的是使用imacros和这个脚本来获取引号中的数字,以确定是否单击按钮。 所以如果数字很高,它会等到它变小然后继续。 但是现在我只需要弄清楚如何获得标题的价值。

这是我想要运行它的页面的链接。 http://www.tagged.com/apps/pets.html#cashruns/3646/

3 个答案:

答案 0 :(得分:0)

使用@ attribute-name选择属性。在您的示例中// span / @ title可能有效,但您可以使用更具选择性的xpath。

某些XPath实现不支持属性,因此请参阅iMacros文档。

答案 1 :(得分:0)

使用javascript评估xpath时,您可以使用document.evaluate()函数。您可以获得更多信息here

function getSpanTitle() {
   var result = document.evaluate("//span[@class='shorthand shorthand-m']/span/@title", document, null, XPathResult.ANY_TYPE, null);   
   var title = result.iterateNext();   
   alert(title.textContent);
}

另请注意,我使用了相对xpath作为//span[@class='shorthand shorthand-m']/span/@title,它比绝对XPath更强大。

答案 2 :(得分:0)

你可以抓取html标签

tag pos=1 type=span attr=title:* extract=htm

然后使用slice() method

中的javascript eval提取所需数据