0

私は現在、Javaバインディングを使用してEclipseに取り組んでおり、eコマースWebサイトを自動化しています。自動化スクリプトを作成するためにSelenium2(Webdriver)を使用していますが、cssを介して特定の要素を取得しようとすると問題が発生します。xpathの不安定な性質のため、私の好みはcssです(特に私たちのサイトに毎週実装されている変更がある場合)。誰か助けてくれませんか?前もって感謝します。クリックする必要のあるボタンが2つあり、どちらも似ています。最初のものは続行ボタンです:

<td class="content" style="vertical-align: bottom; ; background: url(http://g-ecx.images-amazon.com/images/G/01/digital/video/avod-1-5/dp-sprite-total._V156422041_.png) no-repeat -3px -153px; padding: 0px 4px 0px 11px;">       Yes, continue with my purchase     </td>

2つ目はキャンセルボタンです。

<td class="content" style="vertical-align: bottom; ; background: url(http://g-ecx.images-amazon.com/images/G/01/digital/video/avod-1-5/dp-sprite-total._V156422041_.png) no-repeat -3px -181px; padding: 0px 4px 0px 11px;"> Cancel </td>

ご覧のとおり、どちらも構造は似ていますが、テキストが異なるだけです。今、私はこれを使用するところまで行くことができます-css=td.content

しかし、これにより両方の要素が起動し、スクリプトが失敗します。私がする必要があるのは、テキストを使用する何かを入力することです。よろしくお願いします

4

1 に答える 1

0

CSS セレクターはこのようには機能しません。: contains ()と呼ばれるものがありましたが、削除されました。td次のように、各要素に 2 番目のクラスを追加できます。

<td class="content action_yes"...>
<td class="content action_no"...>

次に、CSS セレクターは次のようになります (jQuery では非常にクリーンであるため、このアプローチは標準の CSS です)。

$('.action_yes')
$('.action_no')
于 2012-10-18T17:39:56.457 に答える