0

ドライバーは、xpathによって要素defaultCurrencyを見つけることができません。

エラー-「org.openqa.selenium.ElementNotVisibleException:要素は現在表示されていないため、操作できない可能性があります。」

コード:

driver.findElement(By.xpath("//[@id='currency']/fieldset[2]/table/tbody/tr[1]/td[2]")).click();

WebElement defaultCurrency = driver.findElement(By.xpath(".//*[@id='defaultCurrency']"));

Select defaultCurrency_Select = new Select(defaultCurrency); defaultCurrency_Select.selectByVisibleText("USD");

ソースコード:

<td>
    <select id="defaultCurrency" class="validate[required]" onchange="javascript:clrErrors()" style="height:25px;width:160px;" name="defCurrency.defaultCurrency">    
        <option value="">Select Currency..</option>
        <option value="INR">GBP</option>
        <option value="EUR">EUR</option>
        <option value="USD">USD</option>
    </select>
</td>
4

2 に答える 2

0

WebDriverElementNotVisibleExceptionは、要素が表示されていない場合にのみ例外をスローします。したがって、要素を (たとえば、Firebug を介して) 見て、どの要素が彼をアクティブにして可視化しているかに注意してください。次に、最初の要素をアクティブにしてから、目的の要素を操作します。または、要素がその特定の瞬間に非表示になるように設計されているため、要素に対してアクションを実行することは許可されていない可能性があります。

于 2012-11-13T16:01:02.437 に答える
0

これを使って

Select currency = new Select(driver.findElement(By.cssSelector("Select[id="defaultCurrency"]")));
于 2013-07-09T10:12:27.173 に答える