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 回答