我有这个代码来创建我的网络驱动程序。
现在,如果我逐个创建驱动程序,则此代码可以正常工作
。在多个线程上创建这些驱动程序时会出现问题。
public static WebDriver getConfiguredWebDriver(.....)
WebDriver driver = null;
DesiredCapabilities cap = new DesiredCapabilities();
if(ffp != null) {
ffp.setPreference("general.useragent.override", getRandomizedUASettings(rand, UserAgentList));
}
driver = new FirefoxDriver(null, ffp, cap);
//driver = new FirefoxDriver(); also gives an error of the same kind during multithreading
return driver;
}
它给了我这个错误
“Thread-4”org.openqa.selenium.WebDriverException:无法连接到端口 7057 上的二进制 FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe);进程输出如下:null 构建信息:版本:'2.28.0',修订:'18309',时间:'2012-12-11 20:21:45' 系统信息:os.name:'Windows 7',os.拱门:'amd64',os.version:'6.1',java.version:'1.6.0_26'
线程代码是
while(...) {
....... //
FirefoxProfile ffp = new FirefoxProfile();
DataEntryThread t = new DataEntryThread(parentFrame, lead, new ProxySettings(proxySettings), ffp, UserAgentList);
t.start();
....... //
}
错误随机出现在任何线程上,甚至出现在端口号上。这里有什么问题?如何实现在不同线程上加载多个 firefox 驱动程序?