1

セレンWebdriverを使用してpng画像のタブにアクセスしようとしています:

div id="navbar6ClickDiv" 
a onclick="return hdlClick('navbar6ClickDiv', 'navbar')" target="workspace" href="/setup.htm"
img width="90" height="23" border="0" src="/xyz.png"

タブにアクセスするために次の方法を試しましたが、何も機能しませんでした:

  • 1位:

    WebElement div = driver.findElement(By.id("navbar6ClickDiv"));   
                 div.click();
    
  • 2番目:

    WebElement div = driver.findElement(By.tagName("img").name("/images/banner/setupt.png"));
                                 div.click();
    
  • 3番目:

    WebElement div = driver.findElement(By.xpath("//img[contains(@src,'/images/banner/setupt.png')]"));
                 div.click();
    
4

2 に答える 2

2

WebDriverを使用してDHTML/AJAXページをテストする場合、WebDriverが速すぎて、インターネットの待ち時間とブラウザのjavascriptでページをレンダリングできないことがよくあります。

要素がまだ存在していない可能性があります。Javaでは、WebDriver WaitUntilイディオムを使用して、コンテナー(divなど)が表示されるのを待機することにより、これを回避します。

于 2012-05-10T11:40:46.300 に答える
0

ステップ1:

画像の完全な CSS セレクターを派生させます。

css=a[onclick*='navbar6ClickDiv'] > img[src*='xyz.png']

ステップ2:

画像をクリック

driver.findElement(
  By.cssSelector("a[onclick*='navbar6ClickDiv'] > img[src*='xyz.png']")
).click();
于 2014-04-03T09:48:51.020 に答える