【问题标题】:How to find tablerow element containing a certain span element with Selenium Webdriver如何使用 Selenium Webdriver 查找包含某个 span 元素的 tablerow 元素
【发布时间】:2014-02-14 08:16:30
【问题描述】:

我正在尝试编写一个方法,该方法接受一个字符串变量(某个节点的名称)并获取包含与给定字符串文本相同的元素的 tr 元素。

第一步是在我的html中找到一个元素

element.text = string

但我无法获得 XPath 表达式。

我试过了

  driver.FindElement(By.XPath(String.Format("//span[text()={0}]", &stringVariable)));

此代码引发异常“无法评估或不会生成 Web 元素。”

提前致谢

编辑:

都没有

//tr[span[text()= 'variableValue']] 

也没有

//tr[span[contains(text(), 'variableValue')]]

工作时

//tr[contains(text(), 'partOfVariableValueUntilFirstSpace')]

会起作用。我无法解释为什么......

【问题讨论】:

  • 发布表格内容的 HTML。我们在这里是第二次猜测。
  • 好的,我现在明白了...你必须用 'x0020' 替换每个空格...
  • 您根本不需要这样做,再说一次,如果没有 HTML,我们只是猜测。如果您的理论有效,请将其作为您自己问题的答案发布并接受。
  • 由于我的名声,我现在不能回答,如果我不忘记的话,我会在星期一做...

标签: c# selenium


【解决方案1】:

您可以使用以下 Xpath

//tr[span[text()='variableValue']]

它将找到tr 元素,该元素具有span 元素,其中文本作为变量值。

【讨论】:

  • 我的 variableValue 中有空格,这可能是个问题吗?
  • @user3292642:不要认为它会导致任何问题。
  • text()= 'variableValue' 和 [contains(text(), 'variableValue')] 都不起作用,而 [contains(text(), partOfVariableValueUntilFirstSpace')] 将起作用。我无法解释为什么
猜你喜欢
  • 2017-07-03
  • 2020-04-24
  • 2017-09-12
  • 2014-07-18
  • 2019-06-13
  • 2012-12-12
  • 2016-02-29
  • 2021-03-31
相关资源
最近更新 更多