0

我正在尝试从网页上的标题字段中获取文本。但是,该字段似乎有两个单独的文本值,而不是一个。当我使用 element.text 访问文本时,我只得到文本的第一位而不是第二部分,而第二部分恰好是我感兴趣的部分。

我尝试使用 .text 访问文本。使用 get_attribute('value') 不起作用,只会返回“None”,这意味着它找不到匹配的参数。

元素外观示例:

<h2 class="Some-Unique-Class">
"Validate Response:"
"Success"
</h2>

我想同时看到“验证响应:”和“成功”,但在使用 .text 方法时我只看到“验证响应”,而不是“成功”部分。

环境细节:Selenium Webdriver;Python 3.5.2

4

2 回答 2

0

也许这是元素位置或非唯一匹配的问题。

例如,如果我使用以下XPath 选择器

//h2[@class='Some-Unique-Class']

我得到了相同的“完整”文本:

于 2019-06-19T12:25:12.713 回答
0

不确定问题是什么,但以下内容对我的 html 字符串有用:

from selenium.webdriver import Chrome
driver = Chrome()
dat = [your html string]

driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=dat))
elems = driver.find_elements_by_xpath("//h2")
for elem in elems:
    print(elem.text)

输出:

“验证响应:” “成功”

于 2019-06-19T00:38:58.550 回答