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_nameまたはを使用する必要があることを知っています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-to-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 に答える