2

アプリケーションをテストするために、Selenium、JBehave、および JUnit を使用しています。ページ内の要素を見つけるには、WebDriver を使用します。

私はグリッドレイアウトを持っており、グリッドの各部分に次のようなボタンをクリックしたいボタンがあります:

getDriver().findElement(By.className("v-button")).click();

しかし、グリッドレイアウトの特定の部分からボタンをクリックしたい:

<div class="v-gridlayout-slot" style="left: 0px; top: 0px;">
  <div class="v-verticallayout v-layout v-vertical v-widget">
    <div class="v-slot">
    <div class="v-slot v-slot-h2">
    <div class="v-slot">
    <div class="v-slot v-align-right v-align-bottom">
      <div tabindex="0" role="button" class="v-button v-widget">
<div class="v-gridlayout-slot" style="left: 308px; top: 0px;">

ページにそのような構造があり、左上隅からボタンをクリックしたい( 付きstyle="left: 0px; top: 0px;")。

どうすればそれを達成できますか?

4

2 に答える 2

2

フロントエンドの開発者に、ボタンに ID を付与するよう依頼することをお勧めします。次に、「btn-top-left」などの特定の ID で検索します。この要素はページ内で一意になるためです。要素を属性で検索するのは悪い習慣ですが、他に選択肢がない場合は、実際に属性で検索してみてください: getDriver().findElement(By.xpath("//div[contains(@class,'v-') and contains() @style,'左: 0px; 上: 0px;')]")).click();

于 2013-04-09T14:53:11.303 に答える
0

「左: 0px; 上: 0px;」を「含む」スタイル属性を持つ親 div を検索する xpath を使用できます。または、クラス「v-gridlayout-slot」ですべての div を取得し、目的の要素が見つかるまで文字列の一致を介してスタイル属性を確認します。

于 2013-02-28T00:50:37.343 に答える