栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Selenium WebDriver中获取元素的文本,而不包括子元素文本?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Selenium WebDriver中获取元素的文本,而不包括子元素文本?

这是一个常规解决方案:

def get_text_excluding_children(driver, element):    return driver.execute_script("""    return jQuery(arguments[0]).contents().filter(function() {        return this.nodeType == Node.TEXT_NODE;    }).text();    """, element)

传递给函数的元素可以是从

find_element...()
方法中获得的东西(即它可以是一个
WebElement
对象)。

或者,如果您没有jQuery或不想使用它,则可以用以下代码替换上面函数的主体:

return self.driver.execute_script("""var parent = arguments[0];var child = parent.firstChild;var ret = "";while(child) {    if (child.nodeType === Node.TEXT_NODE)        ret += child.textContent;    child = child.nextSibling;}return ret;""", element)

我实际上是在测试套件中使用此代码。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号