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

如何为div和span(最好是xpath)之间的文本编写定位器,其中包含非中断空间( )

何玺
2023-03-14

我想为以下div编写xpath:

<div class='someclass' id='someid'>:TEST&nbsp;SELENIUM&nbsp;1234<div>
    null
//div[contains(text(),":TEST SELENIUM 1234")]

//div[contains(text(),":TEST{&nbsp;}SELENIUM{&nbsp;}1234")] 

//div[contains(text(),":TEST&nbsp;SELENIUM&nbsp;1234")] 

//div[normalize-space(text()) = ':TEST SELENIUM 1234']

//div[normalize-space(text()) = ':TEST{&nbsp;}SELENIUM{&nbsp;}1234']

//div[normalize-space(text()) = ':TEST&nbsp;SELENIUM&nbsp;1234']

//div[normalize-space(.) = ':TEST SELENIUM 1234']  

//div[normalize-space(.) = ':TEST{&nbsp;}SELENIUM{&nbsp;}1234']  

//div[normalize-space(.) = ':TEST&nbsp;SELENIUM&nbsp;1234']  

//div[normalize-space(.) = ':TEST{\u00a0}SELENIUM{\u00a0}1234']  

//div[normalize-space(.) = ':TEST${nbsp}SELENIUM${nbsp}1234']  
//div[starts-with(text(), ":TEST") and substring(text(), 7)="SELENIUM" and  substring(text(), 16)="1234"]  

link1
Link2

如有任何帮助,我们将不胜感激。

共有1个答案

李谦
2023-03-14

根据上面的对话,您可以使用以下示例XPath构建器(JAVA):

public class Test {
    public static void main(String[] args) {
        String s = ":TEST&nbsp;SELENIUM&nbsp;1234";
        String[] parts = s.split("&nbsp;");
        StringBuilder xpath = new StringBuilder("//*");

        for (int i = 0; i < parts.length; i++){
            xpath.append((i == 0) ? "[contains(text(), '" + parts[i] + "')" : " and contains(text(), '" + parts[i] + "')");
        }
        xpath.append("]");

        System.out.println(xpath);
    }
}

产出:

//*[contains(text(), ':TEST') and contains(text(), 'SELENIUM') and contains(text(), '1234')]
 类似资料:
  • 我正在使用selenium在html页面上执行测试。我只能使用xpath来定位元素。我试图创建一个xpath,它允许我定位所有包含文本的div,这样我就可以用findElements保留这些WebElement的引用,不管它是什么,只要它不是空的。所以我有了这个xpath: //div[5]/div/div[2]

  • 问题内容: 我正在尝试使用xPath查找包含一段文本的元素,但我无法使其正常工作…。 如果删除带有“ contains”内容的最后一位,它将找到我的span元素,但是我需要根据文本内容进行选择。它也不是“某些文本”的完美匹配,因为它也可能包含截断的字符串。 有人看到这个问题吗? 问题答案: 我认为问题出在这里: 为了解决这个问题, 的是,在该节点集中每个节点上运行的条件-在你的情况下,每个跨度节点

  • 我有下面一行代码: 我想从中得到“text”作为字符串变量MyText 我试过用这个:

  • 我这里有这个html 我想检查span类是否包含值2013。我应该如何编写xpath? 这些是我到目前为止尝试过的,根据Firepath,它们要么无效,要么没有匹配的节点。

  • 当软键盘弹出时,我需要在键盘和编辑文本之间提供一些填充,这通常会隐藏编辑文本的底部。 打开软键盘时,我需要完整的edittext视图可见。更重要的是,我不能使用<code>android:WindowsOfInputMode=“adjustResize”,这在我的用例中效果不佳。我正在使用“adjustPan”。 那么如何在不改变windowSoftInputMode的情况下实现相同呢?

  • 问题内容: 我知道此页面中有很多此主题,但可悲的是,我仍然无法解决我的问题。 这是我的xml代码: 这是我在Java中的代码: 是的,像往常一样,我无法获得输出,因为它仅显示: 仅当我删除ns:1时,才会显示输出,xml的代码将如下所示: 问题是,我在网上发现的所有建议似乎都没有用: 例如,我已经尝试过 等2 .. 我能得到的唯一最好的输出是,它将显示: 谁能给我正确的代码给我解决我的问题? 提前