我现在正在学习硒,遇到了问题。
我知道Selenium默认不使用驱动程序就支持旧的Firefox版本。对于最新版本的Firefox,我们必须下载驱动程序并使用进行定义System.setProperty。
根据此链接,对于Firefox 45和46,启动驱动程序代码如下所示:
WebDriver driver = new FirefoxDriver();
我的Firefox是45.5.1版,但上述代码仍然无法正常工作。因此,根据此链接,我添加了:
System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");
而且有效。
然后我意识到自己还没有安装geckodriver.exe计算机。要查看进展情况,我已更改为以下代码:
System.setProperty("webdriver.firefox.marionette","");
它仍然有效。
所以,这是我的第一个问题:发生了什么事?我确定geckodriver.exe在我的环境中不存在。如果未指定任何位置,那么为什么我必须设置属性?
另外,我看过类似的代码:
System.setProperty("webdriver.gecko.driver", "/tools/marionette/wires.exe");
我的第二个问题是webdriver.gecko.driver and webdriver.firefox.marionette和wires.exeand和有geckodriver.exe什么区别?
守着一只汪
肥皂起泡泡