我在使用Selenium打开Firefox时遇到了一些困难。它在家里的电脑上工作,但我不知道为什么它在我的工作电脑上不起作用。一些帮助和指导将非常感激,因为我是这个工具的新手和日食。
我已经下载了geckodriver 10并且正在使用Eclipse Neon运行Selenium 3。我将selenium-server-standalone-3.0.0-beta3导入了我的测试Selenium项目的Java Build Path。
我的代码如下:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class openBrowser {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "D:\\JW\\Selenium\\geckodriver-v0.8.0-win32\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.com");
}
}
当我运行程序时,我在控制台中获得以下内容:
Sep 30, 2016 10:42:18 AM org.openqa.selenium.remote.ProtocolHandshake createSession
信息:尝试双方言会议,假设Postel法则适用于远程端 线程“main”中的异常org.openqa.selenium.remote.UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器的无效地址或浏览器启动失败。 构建信息:版本:'3.0.0-beta3',修订版:'c7b525d',时间:'2016-09-01 14:57:03 -0700' 系统信息:主机:'SBC-40489825',ip:'10 .27.20.46',os.name:'Windows 7',os.arch:'x86',os.version:'6.1',java.version:'1.8 .0_73'
我运行该程序,但firefox似乎永远不会打开,因为连接似乎被拒绝任何想法都错了?
最好的问候
塔尔坎
答案 0 :(得分:1)
尝试使用Marrionatedriver,它会使用。以下是代码:
WebDriver driver = new MarrionateDriver();
答案 1 :(得分:0)
我建议您不要使用beta
版本,直到Selenium3
的最终稳定版本未发布可能会有很多错误需要解决。
您应该将您的selenium版本降级为Selenium2
的上一个稳定版本。
由于Selenium2
在不使用GeckoDriver
午餐Mozilla Firefox < v47的情况下效果很好,因此您应该将其降级到v47
以下,以摆脱这些问题,直到最终版本为{{} 3}}没有被释放。
答案 2 :(得分:0)
此问题特定于Geckodriver Windows32位。
GeckoDriver不支持Windows 32Bit,他们尚未发布Geckodriver V0.11版本。您检查版本Milestone status
您还可以查看有关此问题的讨论here上次评论
这是解释此问题的article。
更新:Geckodriver V0.11版本发布。请尝试使用此版本。
答案 3 :(得分:0)
这有效
System.setProperty("webdriver.firefox.marionette",D:\\JW\\Selenium\\geckodriver-v0.8.0-win32\\geckodriver.exe);