我正在尝试将我的项目从Selenium 3.0.0beta4升级到3.6.0。我想用
设置页面加载的超时driver.manage().timeouts().pageLoadTimeout(90, TimeUnit.SECONDS);
然而,这会使应用程序崩溃:
Exception in thread "main" org.openqa.selenium.InvalidArgumentException:
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T16:15:26.402Z'
System info: host: 'machine.example.org', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.88', java.version: '1.8.0_144'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{moz:profile=/tmp/rust_mozprofile.AZHGaB47hL8x, rotatable=false, timeouts={implicit=0, page load=300000, script=30000}, pageLoadStrategy=normal, platform=LINUX, specificationLevel=0, moz:accessibilityChecks=false, acceptInsecureCerts=true, browserVersion=52.4.0, platformVersion=4.4.88, moz:processID=10959, browserName=firefox, javascriptEnabled=true, platformName=LINUX}]
该值未更改。我使用的是geckodriver v0.18.0和Firefox 52.4.0。 我可以使用的Firefox版本有任何限制吗?
答案 0 :(得分:0)
在我的应用程序的Selenium 3.0.0beta4版本中,我为gecko驱动程序设置了以下属性:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
我将属性更改为
System.setProperty("webdriver.firefox.marionette", "/path/to/geckodriver");
在Selenium 3.6.0版本中,我的应用程序再次开始工作。我使用的是Firefox v45.9.0和geckodriver v0.18.0。其他组合也可以起作用。