如何使用selenium-python获取css属性的名称?

时间:2016-08-05 07:43:50

标签: python selenium-webdriver

我正在尝试获取以下文字

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

使用以下

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

来自下面的代码段

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

2 个答案:

答案 0 :(得分: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>

您可以通过删除.review-title元素

来获取文本
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)

答案 1 :(得分:0)

文字位于body标记内,您可以使用以下方法直接识别它: -

reviews_title = browser.find_elements_by_xpath('//body/text()')