【问题标题】:Identify the text following a specific string with Selenium IE webdriver and JAVA使用 Selenium IE webdriver 和 JAVA 识别特定字符串后面的文本
【发布时间】:2013-07-22 15:00:36
【问题描述】:

如何确定“请找我”后面的文字是“是”还是“否”? (即“请找我 1”后面是“是”。“请找我 2”后面是“否”)。请参考以下 HTML:

<table width="600" border="1" cellspacing="5" cellpadding="1">
<tr><td width="100" align="right">&nbsp;1.&nbsp;&nbsp;</td>
<td width="400" class="fontlarge">&nbsp;&nbsp;`Is <b>FIND ME PLEASE 1</b> OK ?</td>
<td width="100" class="textbold" align="center">YES</td>
<table width="600" border="1" cellspacing="5" cellpadding="1">
<tr><td width="100" align="right">&nbsp;2.&nbsp;&nbsp;</td>
<td width="400" class="fontlarge">&nbsp;&nbsp;Is <b>FIND ME PLEASE 2</b> OK ?</td>
<td width="100" class="textbold" align="center">NO</td>

我设法使用 xpath 识别 "FIND ME PLEASE [1 or 2]";即通过:

xpath("//*[contains(text(), '" + "FIND ME PLEASE " + "')]")

我感觉我需要使用"following-sibling" 来识别"YES""NO",但不知道如何正确使用它。

【问题讨论】:

  • 发布的 xpath 代码感谢 @Slanec 来自我发布的另一个问题。

标签: java html xpath selenium selenium-webdriver


【解决方案1】:

您的问题对我来说有点不清楚,但我认为您正在寻找类似的东西:

//td[contains(.,'FIND ME PLEASE')][./following-sibling::td[contains(.,'YES')]]

这将为您提供包含FIND ME PLEASE 的所有td 以及包含YES 的以下兄弟td

【讨论】:

  • 这正是我所需要的!感谢您的帮助!
【解决方案2】:

使用以下 xpath。应该管用。如果您需要任何澄清,请告诉我

//tr[td/b[text() = '请找我 1']]/descendant::td[@class= 'textbold']

【讨论】:

  • 这也有效!这直接使我能够识别文本后面是“是”还是“否”。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 2023-04-06
相关资源
最近更新 更多