2017-03-22 7 views
0

各行にいくつかの情報があるという表があります。いずれかの行では、画像が使用可能で、クリック可能でもあります。私は動的IDを持つ画像の1つをクリックする必要があります。ナイトウォッチを使用してテーブル行に動的に生成されたイメージIDを特定する方法JS

私はCSSセレクタ& X-パスが、運試してみました

<tr id="tblRow_2"> 
<td height="25" colspan="8" style="border: none; text-align: right"> 
<input id="PPPayNow_0" type="image" src="/Client/images/paynowprepay.gif" onclick="pppayClick(0,35);"/> 
<input id="PayNow_0" type="image" src="/Client/images/paynow.gif" onclick="payClick(0,35);" alt=""/> 
</td> 
<td></td> 
<td id="paymentTotal_0" style="text-align:right; font-size:medium; font-weight:bold; color:Black; border:none"></td> 

ソースコードの下に参照してください。

答えて

0

先行するAxesのXパス先行兄弟関数とxパス文字列関数を使用してこの問題を解決しました。つまり、number string-length(string?)は文字列の文字数を返します。 number string-length(string?)=>この関数は、チェックボックスをクリックした後に有効になる入力タグを識別するために使用しました。

解答: browser.useXpath()。( '// * [@ id = "tableId"]/tbody/tr/td [3] [string-length(text))> 0] /先行:: td [2] /入力[starts-with(@id、 "PayNow")] ');

0

のonclick属性値が、彼らはすべての後のjs関数であり、そうでなければなりませんconstantly-され、これはあなたが第一の入力を選択することができる方法であると仮定:

//td/input[starts-with(@onclick, "pppayClick")] 

そして、これが第二のためにある:

//td/input[starts-with(@onclick, "payClick")] 

プレフィックス(_0の部分)だけが変更された場合でも、id属性を使用して同じことができます。

関連する問題