我试用了新的geckodriver,为FF48和selenium 3打开了牵线木偶,但测试无法在下拉列表中选择任何元素的选项。我的测试在FF45和所有其他浏览器中都能正常工作。只有牵线木偶驱动程序不会在下拉列表中选择该选项
new Select(driver.findElement(By.Id("topic"))).selectByVisibleText(item);
代码正常工作,直到我开始使用gecko驱动程序和木偶。
以下是我用来设置geionodriver和marionette的代码。
System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir")+"\\geckodriver.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("DefaultProfile");
myprofile.setPreference("network.proxy.type", ProxyType.AUTODETECT.ordinal());
DesiredCapabilities dc=DesiredCapabilities.firefox();
dc.setCapability(FirefoxDriver.PROFILE, myprofile);
dc.setCapability("marionette", true);
driver = new FirefoxDriver(dc);
当测试尝试从元素中选择一个选项时,测试不会抛出任何异常。
new Select(driver.findElement(By.Id("topic"))).selectByVisibleText(item);
在研究了这个问题之后,结果发现FF48有一个bug并且它在firefox中修复了51。 在等待FF51发布时,是否有任何解决方法使其在FF48中工作?
答案 0 :(得分:3)
我很惊讶没有人遇到过这个问题。我想我可能在错误的地方发布了这个问题,因为我没有得到任何回复。 无论如何,这被证明是Firefox 48中的一个错误。它已在Firefox 51(Nightly build)中修复。
如果您使用Selenium 3 beta和Firefox 48与geckodriver,您将无法使用webdriver与任何下拉列表进行交互。这个问题已在Firefox 51中修复。
答案 1 :(得分:1)
我确实遇到了完全相同的问题,我所做的工作就是这个问题的答案。