使用selenium webdriver检索第5项的价格值

时间:2013-05-08 02:35:34

标签: selenium selenium-webdriver selenium-rc rc

假设我有来自多个零售商的多个报价,我将如何从特定零售商(比如Target或沃尔玛)中检索第五个价值?我可以使用匹配的图像标识位到第5个条目,如何检索值?

添加Html代码以使事情更加清晰。我需要检索ratePrice值(198)

<div id="rate-297" class="rateResult standardResult" vendor="15">
    <div class="rateDetails">
        <h4>Standard Goods
            <br>
            <img src="http://walmart.com/walmart/ZEUSSTAR999.jpg">
        </h4>
        <p>
            <span class="vendorPart-380">
                <img alt="Walmart" src="/cb2048547924/icons/15.gif">
                <br>
                <strong>
                <br>
                    MNC
            </span>
        </p> 
    </div>
    <div class="ratePrice">
        <h3>
            $198
            <sup>49</sup>
        </h3>
        <p>
            <strong>$754.49</strong>
            <br>
        </p>
        <a class="button-select" href="https://www.walmart.com/us/order/95134/2013-05-14-10-00/95134/2013-05-17-10-00/297"> </a>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

如果你能提供一些HTML,那会有所帮助。一般来说,根据您的要求,您可以获得价格div或任何HTML元素的定位器,然后使用以下内容获取其文本: _driver.FindElement(locator_of_element).Text

诀窍是理解HTML以便定位第5个元素。因此,如果您可以找到具有第5个条目的行,那么这只是一个问题,或者在该行中查找价格div并获取其中的文本。

基于OP在评论中提供的更多信息进行编辑

使用您提供的HTML(顺便说法不是很好,缺少关闭强标记,标记等)。我会说以下几点:

_driver.FindElement(By.XPath("//div[@class='ratePrice'][5]/h3")).Text