如何使用 Selenium 查找包含的元素
How to find an element which contains using Selenium
<td>By Company </td>
我需要捕获上述元素的 xpath。我尝试了以下替代方案,但在 chrome 中似乎没有任何效果。你能建议任何其他选择吗?
"//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']]"
无视,仅按"By Company"定位
//td[contains(., 'By Company')]
定位元素:
<td>By Company </td>
您可以使用以下任一项 xpath:
使用normalize-space()
:
"//td[contains(normalize-space(translate(., '\u00A0\u00A0', ' ')), 'By Company')]"
使用text()
:
"//td[text()='By Company\u00A0\u00A0']"
使用contains()
:
"//td[contains(., 'By Company\u00A0\u00A0')]"
但是,理想情况下,您可能希望避免 NO-BREAK SPACE 字符并使用以下任一解决方案:
使用starts-with()
:
"//td[starts-with(., 'By Company')]"
使用contains()
:
"//td[contains(., 'By Company')]"
参考
您可以在以下位置找到相关的详细讨论:
- Using XPATH to search text containing
tl;博士
<td>By Company </td>
我需要捕获上述元素的 xpath。我尝试了以下替代方案,但在 chrome 中似乎没有任何效果。你能建议任何其他选择吗?
"//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']]"
无视,仅按"By Company"定位
//td[contains(., 'By Company')]
定位元素:
<td>By Company </td>
您可以使用以下任一项 xpath:
使用
normalize-space()
:"//td[contains(normalize-space(translate(., '\u00A0\u00A0', ' ')), 'By Company')]"
使用
text()
:"//td[text()='By Company\u00A0\u00A0']"
使用
contains()
:"//td[contains(., 'By Company\u00A0\u00A0')]"
但是,理想情况下,您可能希望避免 NO-BREAK SPACE 字符并使用以下任一解决方案:
使用
starts-with()
:"//td[starts-with(., 'By Company')]"
使用
contains()
:"//td[contains(., 'By Company')]"
参考
您可以在以下位置找到相关的详细讨论:
- Using XPATH to search text containing