无法在firefox浏览器中为selenium 3.0.0-beta2

时间:2016-09-05 07:02:01

标签: selenium firefox selenium-webdriver selenium-firefoxdriver

使用selenium 3 beta 2时,我无法在firefox浏览器中选择任何下拉列表。我得到了:

  

元素不可见异常

以下是一些更多细节:

Browser Page

StackError:

  

org.openqa.selenium.ElementNotVisibleException:元素不可见(警告:服务器未提供任何堆栈跟踪信息)   命令持续时间或超时:15毫秒   构建信息:版本:'未知',修订版:' 2aa21c1',时间:' 2016-08-02 14:59:43 -0700'   系统信息:host:os.name:' Windows 10',os.arch:' amd64',os.version:' 10.0',java.version: ' 1.8.0_91'   驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver   功能[{rotating = false,raisesAccessibilityExceptions = false,appBuildId = 20160817112116,version =,platform = XP,proxy = {},command_id = 1,specificationLevel = 0,acceptSslCerts = false,browserVersion = 48.0.1,platformVersion = 10.0,browserName = Firefox,takeScreenshot = true,takeElementScreenshot = true,platformName = Windows_NT,device = desktop}]   会议ID:1bdaa5b9-a2b8-47aa-81b8-5516c39462a7       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)       at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)       at java.lang.reflect.Constructor.newInstance(Unknown Source)       在org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)       在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)       在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:683)       在org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:319)       在org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85)       在org.openqa.selenium.support.ui.Select.setSelected(Select.java:324)       在org.openqa.selenium.support.ui.Select.selectByValue(Select.java:201)       在DriverTest.test(DriverTest.java:45)

对于Chrome浏览器,它完全正常工作。

我认为firefox浏览器存在一些问题。目前我可以看到firefox可以更新为48.0.2。我们有解决方法吗?

1 个答案:

答案 0 :(得分:0)

如果你没有使用它,你应该使用WebDriverWait.With WebDriverWait代码应该像

Select sel = new Select(new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOfElementLocated(By.name("country"))));
    sel.selectByVisibleText("Albania");