2016-08-05 9 views
-1

selenium-pythonを使用してCSSプロパティの名前を取得する方法は?

<div class="review-info"> 
<span class="review-title">Love!</span> 
5 ⭐'s all the way! There is no better place to be! 
</div> 
+0

あなたは少しより多くを表示する必要が –

+1

私は、文字列を見つける傾けるようだ.review-title要素を除去することにより、テキストを取得することができますhtml、実際にはどのタグがテキストですか? – Josh

答えて

1

あなたは、このようにHTMLを持っていると仮定すると:

<div class="review"> 
    <span class="review-title">Love!</span> 
    5 ⭐'s all the way! There is no better place to be! 
</div> 
<div class="review"> 
    <span class="review-title">Foo!</span> 
    Lorem ipsum dolor sit amet 
</div> 
<div class="review"> 
    <span class="review-title">Bar!</span> 
    Aenean in elit id lorem aliquam 
</div> 

あなたは

parent_elems = browser.find_elements_by_css_selector('.review') 
for elem in parent_elems: 
    review_title = elem.find_element_by_css_selector('.review-title') 
    review_title_text = review_title.text # get review title text 

    # remove review_title element 
    browser.execute_script(""" 
    var element = arguments[0]; 
    element.parentNode.removeChild(element); 
    """, review_title) 

    # this is the text 
    text = elem.text 

    print "%s\t %s \n-------" % (review_title_text, text) 
+0

レビューのテキスト要素が既にあると仮定して、スクリプトは何をしますか? –

+0

スクリプトは.review要素を反復処理し、.review-titleごとに削除します。 .review-title要素を削除すると、親ノードのテキストが取得したいテキストになります(5⭐のすべての方法です!) – talhasch

0

テキストがbodyタグ内にある下に、あなたは直接使用して、それを識別することができますスニペットから次

reviews_title = browser.find_elements_by_xpath('//span[@class="review-title"]/following-sibling::') 

を使用して、次のテキスト

5 ⭐'s all the way! There is no better place to be! 

を取得しようとしています: -

reviews_title = browser.find_elements_by_xpath('//body/text()') 
関連する問題