当前位置: 首页 > 知识库问答 >
问题:

如何从div元素中获取文本,使用Selenium只返回一个“.”

赵嘉纳
2023-03-14

我有一个div元素,如下所示。

我用下面的XPath标识这个元素。

//*[contains(@class,'ce-component-title')]

Selenium标识此元素并加载WebElement对象。但当我去获取它的文本时,我得到的只是一个“。”如下所示,而不是获取“采购到付款流程”。我在这里做错了什么?我检查了chrome控制台,没有其他元素与此XPath匹配。

任何帮助都将不胜感激。

共有1个答案

仲孙超
2023-03-14

根据您共享的HTML,该元素是一个角度元素,因此您必须引导WebDriverWait以使所需的元素可见,您可以使用以下任何一种解决方案:

>

  • CSSSelector:

    String myString = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div[ng-if*='getTitle']>div.ce-component-title"))).getAttribute("innerHTML");
    

    XPath:

    String myString = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[contains(@ng-if,'getTitle')]/div[@class='ce-component-title flex text-overflow ng-binding']"))).getAttribute("innerHTML");
    

  •  类似资料:
    • 我有一个div元素,如下所示。 我使用以下xpath标识此元素。 Selenium标识此元素并加载WebElement对象。但当我去获取它的文本时,我只得到一个“.”如下所示,而不是获取“购买到付款流程”。我做错了什么?我检查了chrome控制台,没有其他元素匹配这个xpath。 任何帮助都将不胜感激。

    • 问题内容: 的HTML 码 问题答案: 我已经看到这个问题在过去大约一年左右的时间里弹出了几次,我想尝试编写此函数…所以就到这里了。它接受父元素,并删除每个子元素的textContent,直到剩下的是textNode为止。我已经在您的HTML上对其进行了测试,并且可以正常工作。 你叫它

    • 问题内容: 是否可以仅从父元素而不是Selenium中的子元素获取文本? 示例:假设我有以下代码: 用C#(或任何语言),我将有: 但是,链接文本将带有“ Google Link此链接会将您带到Google主页”。 如果不进行大量的字符串操作(例如获取所有子项的文本并从父项的结果文本中减去该文本),是否有办法从父项元素中仅获取文本? 问题答案: 这是一个常见的问题,因为您无法直接访问文本节点- 换

    • 在Selenium中,是否可以仅从父元素而不是其子元素获取文本? 例如:假设我有以下代码: 用C#(或任何语言),我将有: 然而,链接文本将有“谷歌链接”这个链接将带你进入谷歌主页 如果不进行一系列字符串操作(例如获取所有子元素的文本,并从父元素的结果文本中减去这些文本),有没有办法只从父元素获取文本?

    • 问题内容: 我正在尝试从隐藏的示例中读取示例字符串: 我知道这不适用于Selenium2(WebDriver)中的隐藏元素,因此我搜索了解决方案(像这样),显然以下代码应该可以工作: 但这对我不起作用,变量始终以结尾。我究竟做错了什么? 问题答案: 编辑:哦,这可行。 在Firefox中。 这也是。 我也尝试过,但是它似乎不能用于纯Javascript。如此处所述,使用Jquery启动浏览器。如何

    • 当我执行时,它也打印和,我如何在Python中使用selenium只获取示例文本?