首页 > 解决方案 > 如何获取子元素的文本

问题描述

这个页面上,我想输入“looked”或“gone”,点击“spaCy Word Lemmatize”按钮,然后在结果页面上找到“Analysis Result”。我有代码可以做所有事情,但我无法隔离结果。

Original Text    Analysis Result
-------------    ---------------
looked           look
gone             go

这是“looked”的 HTML 结果:

<div class="span5 offset1">
    <h4>Original Text</h4>
    <p>
    looked
    </p>
</div>
<div class="span5">
    <h4>Analysis Result</h4>
    <p>
    look
    </p>
</div>

这是我的代码

array = []
myText = ["looked", "gone"]  # I post this array to website.

for a in range(0, len(myText)):

    x = driver.find_element_by_class_name("span5")
    array.append(x.text)

print b -> [u'Original Text\nlooked', u'Original Text\ngone']

我怎样才能只得到结果,“看”或“走”?

标签: pythonselenium-webdriver

解决方案


您还可以为此使用以下 CSS 选择器:

...
text = driver.find_element_by_css_selector(".span5>p").text
...

您可以优化您的代码:

array = []
elements = driver.find_elements_by_css_selector(".span5>p")

for element in elements:

    array.append(element.text)

或更多Pythonic:

array = [element.text for element in elements]

希望对你有帮助!


推荐阅读