2016-08-05 5 views
-1

셀레늄 - 파이썬을 사용하여 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 제목 요소를 제거하여 텍스트를 얻을 수 있습니다 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

텍스트 아래의 코드 조각에서 다음

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! 

를 얻기 위해 노력하고 있어요 것은 내부 body 태그입니다 직접 사용하여 식별 할 수 있습니다 : -

reviews_title = browser.find_elements_by_xpath('//body/text()') 
관련 문제