2

.aspx ページがあり、セレン UI を介してテキスト ボックスを見つけようとしています。ID は次のとおりです。p_lt_ctl01_pageplaceholder_p_lt_ctl00_SignUpFree_txtFirstName

私は試しました:id=*._txtFirstName そして:id=glob:*_txtFirstName

コンパイルされるたびにIDが変わる可能性のあるテキストボックスを見つけるCSS以外のより良い方法はありますか?

4

2 に答える 2

4

id「セレクター」にワイルドカードを入れることはできません。使うid=whole_id_hereか使わないかです。

幸いなことに、あなたの場合、CSS セレクターを使用できます。

[id*=_txtFirstName]

Selenium IDE では、次のように使用します。

css=[id*=_txtFirstName]

Selenium IDE ソース スニペットの例:

<tr>
    <td>storeText</td>
    <td>css=[id*=_txtFirstName]</td>
    <td>x</td>
</tr>
<tr>
    <td>echo</td>
    <td>${x}</td>
    <td></td>
</tr>



注:_txtFirstNameが常に最後にある場合は、$代わりにCSS ロケーターを使用することもできます*(より限定的で、最後にある場合にのみ一致し、*どこにある場合にも一致します): [id$=_txtFirstName]。(Selenium IDE では、当然、次のように使用しますcss=[id$=_txtFirstName]。)

于 2013-09-04T17:24:05.563 に答える
2

あなたは使用してみることができますcontains

[contains(@id,'_txtFirstName')]
于 2013-09-04T17:26:59.917 に答える