2

我想从此 HTML 中读取金额值 (24.40)。

<div id="order-total" class="clear-fix" style="margin-bottom:20px;">
    <h3 class="col-left">Order total</h3>
    <h3 class="col-right" style="display: block;">
    <span class="credit-total-to-order" data-total-to-order="24.40">$ 24.40</span>
    credits
    </h3>
</div>


xpath - /html/body/div/header/section/form/div[5]/h3[2]/span
css - html body.ui-lang-en div#slave-edit.string-v2 header#slave-edit-header.edit
      section#order-form form#frm-order-translation div#order-total.clear-fix 
      h3.col-right span.credit-total-to-order

我知道我应该使用find_element_by_class_nameor find_element_by_css_selector
但不确定应该是什么论点。

我该怎么做?

4

2 回答 2

2

为什么不从元素中选择值并解析字符串以获得所需的答案。例如,您可以拆分字符串并忽略美元以返回您需要的数字。

someString = selenium.find_element_by_css_selector(".credit-total-to-order").text
someString.split(' ')[1]

请记住 - 这适用于您提供的示例。

于 2012-12-04T15:39:12.113 回答
0

它没有必要使用find_element_by_class_name or find_element_by_css_selector..你可以像这样使用xpath来实现它

driver.find_element_by_xpath("//span[@class='credit-total-to-order']").text

更新:

根据您更新的 html,看起来样式使您的元素隐藏了。意思是,虽然我也注意到您想要获取的值也存储在属性 data-total-to-order 中。

所以你可以这样做:

driver.find_element_by_xpath("//span[@class='credit-total-to-order']").get_Attribute("data-total-to-order")
于 2012-12-04T16:05:57.800 回答