私はこの問題をいつでも解決していますが、結果は一切ありません。私はセレンwebdriverをを使用するとXPathで2つの文字列を取得したい: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でそれを開きます。ファイアパスは私に2つの試合を見せるので、出所は同じです。
これはセレンのバグだと私は考えています。なぜなら、私はこの種の問題に2度目に直面するからです。同様の問題を抱えるトピックがたくさんあります.xpathクエリはFFでは動作しますが、IEでは動作しません。しかし、私はこれの原因を見つけることができません。
このような奇妙な行動を起こす原因は何ですか?問題を解決するにはどうすればよいですか?
はい、あなたは正しいです。私は、XPathを動作させようとする第二のスラッシュを追加し、それを削除するのを忘れてしまった。しかし、単一のスラッシュでも動作しません。 –