如何使用 Splinter 查找元素值?

Posted

技术标签:

【中文标题】如何使用 Splinter 查找元素值?【英文标题】:How to find element value using Splinter? 【发布时间】:2014-03-15 04:39:37 【问题描述】:

我有以下 html

<p class="attrs"><span>foo:</span> <strong>foo</strong></p>
<p class="attrs"><span>bar:</span> <strong>bar</strong></p>
<p class="attrs"><span>foo2:</span> <strong></strong></p>
<p class="attrs"><span>description:</span> <strong>description body</strong></p>
<p class="attrs"><span>another foo:</span> <strong>foooo</strong></p>

我想使用 splinter 获取描述正文。我设法使用

获得了p 的列表
browser.find_by_css("p.attrs")

【问题讨论】:

【参考方案1】:

如果您想使用 selenium 库尝试不同的方法,您可以使用此代码来完成:

import selenium
from selenium import webdriver
driver = webdriver.Chrome('PATH_LOCATION_TO_CHROME_DRIVER') 
driver.find_elements_by_class_name("attrs")

希望这会有所帮助!将 PATH_LOCATION_TO_CHROME_DRIVER --- 替换为您的 chrome 驱动程序的位置,如果您使用谷歌搜索,它应该是第一个或第二个下载链接,然后将该下载内容放在 Python 的项目文件夹中。

【讨论】:

【参考方案2】:
xpath = '//p[@class="attrs"]/span[text()="description:"]/following-sibling::strong'
description = browser.find_by_xpath(xpath).first.text

【讨论】:

【参考方案3】:

你能用 find_by_tag 得到描述吗?

按标签查找

browser.find_by_tag('span')

然后遍历所有'span'标签并寻找'description'的值。我使用了文档here

【讨论】:

以上是关于如何使用 Splinter 查找元素值?的主要内容,如果未能解决你的问题,请参考以下文章

无法单击元素:Splinter / Selenium 中的 ElementClickInterceptedException

如何使用字典查找替换列表中的元素

如何在 int 数组中查找元素的索引?

c#如何查找string数组的某一个值的索引

如何在python列表中查找某个元素的索引

jQuery如何根据数据属性值查找元素?