2016-08-05 8 views
0

でJSONデータから抽出フィールド、私は次のタグを持っています。このタグで5回クリックします.5は "data-json"の "field2"の値です。セレンのPython:私はセレン/パイソンを使用しています</p> <pre><code><a id="AAA" class="BBB" data-json="{"link":"thelink","field1":1,"field2":5}"> Load more </a> </code></pre> <p>:特定のウェブページ<a>タグ

XPATHは「.//*[@id='AAA ']」(FireXPathのおかげで)ですので、私は5回以下のコマンドを使用します:

browser.findElement(By.XATH(".//*[@id='AAA']")).click(); 

質問です:抽出する方法この "5"から<タグ>/data-json/field2?

答えて

0

ピアによってmentionnedとして、それはIDとはるかに良いでしょう。 `browser.findElement(By.ID( "AAA"))を使用しようとした場合

>>> import json 
>>> data = browser.find_element_by_id("AAA").get_attribute("data-json") 
>>> json.loads(data)["field2"] 
>>> 5 
+0

はそれがより良いだろうGET_ATTRIBUTE( "データ-JSONを")':

あなたはget_attributeとJSONのconvertionを使用することができます。 .. :) –

1

属性値を取得するには、関数get_attributelinkを使用できます。この特定のケースでは、data-jsonをdictに解析して番号を取得する必要があります。私はお勧めです:

import json  
json_dict = json.loads(browser.findElement(By.ID('AAA')).get_attribute('data-json')) 
number_times = json_dict["field2"] 
関連する問題