0

私はSeleniumを初めて使用します.2つのことをする必要があります.関連するファイルを検索した後、その行の他の列のいずれかにあるリンクをクリックしたいと思います。ファイル EMED.pdf については、リクエストされたリンクをクリックしたいと思います。

HTML スニペット:

<td>
<a class="OSfileLink" target="selenium_blank7934" href="/Practice/DownloadFile/8057329d-21df-4a44-baee-2068fc01b7dd" rel="EMED.pdf" style="background-color: transparent;">EMED.pdf</a>
</td>
<td></td>
<td> 27/02/2013 16:19:16 </td>
<td>
<a class="eApproval " data-toggle="modal" data-fileid="8057329d-21df-4a44-baee-2068fc01b7dd" href="#" rel="Requested (28/02/2013)" style="background-color: transparent;">Requested (28/02/2013)</a>
</td>

これまでのところ、私は持っています:

コマンド: クリック ターゲット: //a[contains(text(),'Requested ')]/following-sibling::a[contains(text(),'EMED.pdf')] 値:

これによりエラーが発生します: [error] Element //a[contains(text(),'Requested ')]/following-sibling::a[contains(text(),'EMED.pdf')] not found

個々の xpath を個別に「見つける」ことはできますが、それらは一緒に機能しません。どんな助けでも大歓迎です。

  • 編集連結にはまだ喜びはありませんが、クリックを識別して回避することができます。連結に関するヘルプは非常に高く評価されます

*連結の編集: For: href="/Practice/DownloadFile/8057329d-21df-4a44-baee-2068fc01b7dd"

ありがとう

4

2 に答える 2

0

注文が入れ替わったようです。 に置き換えfollowing-siblingてみてくださいpreceding-sibling。また、<a>ノードが必要ですが、次の兄弟関数が の後の次のノードをチェックしていること<a>にも注意して<td>ください。<td><a>

または逆に、検索を開始するノードを変更することもできます。「EMED.pdf」が必要で、次のノードが「要求済み」である場合のみ、次のようにしてみてください。

//td[contains(a/text(),'EMED.pdf')]/following-sibling::td[contains(a/text(),'Requested')]/a

于 2013-02-28T15:26:19.843 に答える
0

あなたが提出したhtmlに基づいて、これはうまくいくと思います.firefox xpathテスターでテストしました

//.[td[a[contains(text(),'EMED.pdf')]]]//a[contains(text(),'Requested')]

于 2013-02-28T15:49:28.517 に答える