2

以下のhtmlページソースがあり、xpath/cssselectorで画像をクリックしてみました。私のコードの問題を見つけるのを手伝ってくれませんか? 私はIE9を使用しています。

<pretable border="0" cellpadding="0" cellspacing="0" width="700">
      <tr>
         <td rowspan="2" width="120">
          <a href="#" onclick="oCMenu.m['top1'].b.moveIt(8,60); oCMenu.showsub('top1'); " 
            onclick="return false" class="FontNormal">
           <img border="0" src="images/shim.gif" width="112" height="73"></a></td>  
       </tr>
  </pretable>

私のコードは次のとおりです。

    ieDriver.findElement(By.xpath("//html/table/tr[1]/td/a[@class='FontNormal']/img[@src='images
     /shim.gif']")).click();

    ieDriver.findElement(By.cssselector("class='FontNormal'")).click();
4

6 に答える 6

3

利用可能な DOM 構造があれば、いつでも CSS セレクターを使用できます。

CSS セレクター

css=a[href='images/shim.gif']
css=a[href*='shim.gif']

次に実行

driver.findElement(By.cssSelector("a[href='images/shim.gif']")).click(); 

また

driver.findElement(By.cssSelector("a[href*='shim.gif']")).click();
于 2014-04-02T05:52:34.730 に答える
2

完全なxpathを提供しようとしていますが、提供されたhtmlと一致しません。

'table'は'pretable'と同じではなく、とにかくフルパスを指定する必要はありません。代わりに、xpathに対してこれを試してください。

XPath("//a[@class='FontNormal']")

ここで、xpathは、クラス「FontNormal」が付加されたリンクを検索します。1つしかない場合は、要素が選択されます。もっとある場合は、もっと具体的にする必要があるかもしれません。

于 2013-02-12T03:33:09.077 に答える
2

最初に適切な xpath を記述して、クリック操作を実行する Web 要素を特定します

  driver.findElement(By.Xpath("//img[@ src='images/shim.gif']")).click();
于 2014-02-02T18:16:10.690 に答える
0

Mozilla Firefox のFirepathでFirebugを使用します。これにより、自動的に xpath が生成されます。

Webelement element = driver.findElement(By.xpath("*xpath here*");
element.click();
于 2013-07-26T02:02:23.163 に答える