2017-06-25 9 views
0

私は同じクラス名を持っているので "Publisher"の値しか取得しません。どうやってするの。Pythonを使用してSeleniumで同じ親の名前と子の名前を持つ複数の子フォームを取得

<div class="block-record-info"> 
    <div class="title3">Publisher</div> 
    <p class="FR_field"> 
    <value>INFORMS, 5521 RESEARCH PARK DR, SUITE 200, CATONSVILLE, MD 21228 USA</value> 
    </p> 

</div> 
<div class="block-record-info"> 
    <div class="title3">Categories/Classification</div> 
     <p class="FR_field"> 
     <span class="FR_label">Research Areas:</span> 
Computer Science; Operations Research & Management Science 
</p> 

私が使用したコード:

valuexpath1 = '//のdiv [の@クラス= "ブロックレコード-情報"]' valueElement1 = driver.find_element_by_xpath(valuexpath1)valuexpath2 =「//*」 valueElement2 = valueElement1.find_element_by_xpath(valuexpath2) valueValue2 = valueElement2.text印刷(valueValue2)

それは私に "カテゴリー/分類" の値を与えていると"出版社"。私は出版社だけが欲しい。

+0

あなたが拡張されたHTMLを共有してくださいすることができます。 div要素の親のように見えるので、一意のパスを見つけるのに役立ちます。 – Monika

答えて

0

最初divspan要素を持っていないとして、あなたはp/spanが含まれているdivを除外しようとすることができます

valuexpath1 = '//div[@class="block-record-info" and not(p/span)]' 
+0

私は "block-record-info"で、(p/span)ではない別のクラスを持っています...今何ができますか?私は回避策を見つけることができない..私を助けてください –

関連する問題