首页 > 解决方案 > 将编码字符转换回用于搜索

问题描述

我有一个看起来像这样的元素:

 <span class="tab_caption_text">Change&nbsp;Tasks&nbsp;(1)</span>

当然,呈现的按钮显示“更改任务 (1)”而不是“更改任务 (1)”

我的问题是

 driver.findElement(By.xpath("//span[contains(text(), 'Change Tasks')]");

不起作用,因为该空间被视为  。现在我不能使用   因为他们将在选项卡中传递来搜索。有很多用两个词。调用者必须使用而不是空间。

有什么办法可以搜索到这个吗?我想我的方法的调用者可以传递类似“更改任务”之类的东西,我可以做一个 replaceAll(" ", " ") 但这看起来非常笨拙不是吗?

ps,这是使用 Chromedriver、java 1.8 和 selenium

标签: xpathencode

解决方案


插入不间断空格而不是常规空格。这是Alt+0160在 Windows 或Alt+Shift+SpaceMac 上完成的。

警告这可能会使您的代码难以维护,因为在人眼看来它们看起来相同。如果这是不可接受的,您可能会发现答案会有所帮助。


推荐阅读