我整天都在为这个问题而战,但没有任何结果。我用硒的webdriver,并希望通过XPath来获得两个字符串:IE中的XPath查询存在问题
<input id="FB_childRec1_0" type="hidden" value="child12_0,child22_0,child13_0,child23_0,child14_0,child24_0" size="1"/>
和
<input id="FB_childRec4_0" type="hidden" value="child15_0,child25_0,child16_0,child26_0,child17_0,child27_0,child18_0,child28_0,child19_0" size="1"/>
从这个代码
:
<tbody>
<input id="cidChild1_0" type="hidden" value="T3$PATENT$US7381548B220080603"/>
<input id="cidChild1_0" type="hidden" value="T3$PATENT$US7381548B220080603"/>
<tr id="FORWARD_1US7381548B220080603_0" class="alternate" style="" name="childTR">
<td class="tborder leftAlignment" rowspan="1" style="width:1%">
<td class="tborder leftAlignment vTop" rowspan="1" style="width:1%">
<input id="FB_childRec1_0" type="hidden" value="child12_0,child22_0,child13_0,child23_0,child14_0,child24_0" size="1"/>
<td class="tborder leftAlignment vTop" rowspan="1" style="width:1%">
<td class="frmData tborder vTop" align="left" rowspan="1" colspan="5">Forward Citation - (Displaying 3 forward citations)</td>
</tr>
<input id="cidChild4_0" type="hidden" value="T3$PATENT$US7381548B220080603"/>
<tr id="BACKWARD_4US7381548B220080603_0" class="alternate" style="" name="childTR">
<td class="tborder leftAlignment" rowspan="1" style="width:1%">
<td class="tborder leftAlignment vTop" rowspan="1" style="width:1%">
<input id="FB_childRec4_0" type="hidden" value="child15_0,child25_0,child16_0,child26_0,child17_0,child27_0,child18_0,child28_0,child19_0" size="1"/>
<td class="tborder leftAlignment vTop" rowspan="1" style="width:1%">
<td class="frmData tborder vTop" align="left" rowspan="1" colspan="5">Backward Citation - (Displaying 14 backward citations)</td>
</tr>
</tbody>
我用这样的XPath查询://tbody/tr[@id[contains(.,'US7381548B2')]]//input
代码为:
driver.FindElements(By.XPath("//tbody/tr[@id[contains(.,'" + queryArray[i] + "')]]//input"));
一切工作完美的Firefox和我可以得到2个元素。但在IE FindElements()中找不到任何东西。我已经在IE8和IE9上试过了,没有任何结果。我已经将Selenium WebDriver更新到2.0.0,但它没有帮助。然后,我认为应用程序可能会为FF和IE提供不同的来源。所以我从IE中保存页面并用FF打开它。 Firepath向我展示了两场比赛,所以来源相同。
这一切都让我觉得这是硒的一些缺陷,因为我第二次面对这样的问题。有很多类似问题的主题 - xpath查询在FF中可用,但在IE中不起作用。但我找不到任何原因。
什么会引起硒这种奇怪的行为?我该如何解决这个问题?
是的,你是对的。我添加了第二个斜线,试图让XPath工作,并忘记删除它。但用一个斜杠它也不起作用 –