How to find an element which contains   using Selenium

旧城冷巷雨未停 提交于 2020-03-16 06:47:24

问题


<td>By Company&nbsp;&nbsp;</td>

I need to capture xpath of the above element. I tried following alternatives, but nothing seems to be working in chrome. Can you please suggest any other option.

"//td[normalize-space(text())='By Company\u00a0']"
"//td[normalize-space(text())='By Company\u00a0\u00a0']"
"//td[text()='By Company\u00a0']"
"//td[text()[normalize-space(.)='By Company\u00a0']]"
"//td[text()[normalize-space()='By Company\u00a0']]"

回答1:


To locate the element:

<td>By Company&nbsp;&nbsp;</td>

You can use either of the following xpath:

  • Using text():

    "//td[text()='By Company\u00A0\u00A0']"
    
  • Using contains():

    "//td[contains(., 'By Company\u00A0\u00A0')]"
    

However, ideally you may like to avoid the NO-BREAK SPACE character and use either of the following solutions:

  • Using starts-with():

    "//td[starts-with(., 'By Company')]"
    
  • Using contains():

    "//td[contains(., 'By Company')]"
    

Reference

You can find a relevant detailed discussion in:

  • Using XPATH to search text containing &nbsp;

tl; dr

Unicode Character 'NO-BREAK SPACE' (U+00A0)




回答2:


Ignore it, locate by "By Company" only

//td[contains(., 'By Company')]


来源:https://stackoverflow.com/questions/59624749/how-to-find-an-element-which-contains-nbsp-using-selenium

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!