配置Selenium server的步骤
from selenium.webdriver import Remote
import time
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = Remote(command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'platform': 'ANY',
'browserName':'firefox',
'version': '',
'javascriptEnabled': True})
driver.get('http://www.baidu.com')
title=driver.title
print (title)
time.sleep(3)
driver.quit()
4.F5 运行,得到,如下报错:
Traceback (most recent call last):
File “C:\Python34\remote.py”, line 8, in
‘javascriptEnabled’: True})
File “C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 91, in init
self.start_session(desired_capabilities, browser_profile)
File “C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 173, in start_session
‘desiredCapabilities’: desired_capabilities,
File “C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 233, in execute
self.error_handler.check_response(response)
File “C:\Python34\lib\site-packages\selenium\webdriver\remote\errorhandler.py”, line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Unable to connect to host 127.0.0.1 on port 7056 after 45000 ms. Firefox console output:
source://gre/modules/Task.jsm:276:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:250:14
loadManifestFromFile@resource://gre/modules/addons/XPIProvider.jsm:1461:12
AddonInstaller.InstallerService._shouldInstall/<@resource://addoninstaller/installerService.js:341:49
safeCall@resource://gre/modules/AddonManager.jsm:179:5
makeSafe/<@resource://gre/modules/AddonManager.jsm:195:25
Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:933:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:812:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:746:11
A coding exception was thrown and uncaught in a Task.
Full message: TypeError: aAddon._installLocation is undefined
Full stack: shouldVerifySignedState@resource://gre/modules/addons/XPIProvider.jsm:1662:1
verifyZipSignedState@resource://gre/modules/addons/XPIProvider.jsm:1693:8
loadManifestFromZipReader<@resource://gre/modules/addons/XPIProvider.jsm:1426:29
TaskImpl_run@resource://gre/modules/Task.jsm:315:40
TaskImpl@resource://gre/modules/Task.jsm:276:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:250:14
loadManifestFromZipFile<@resource://gre/modules/addons/XPIProvider.jsm:1451:26
TaskImpl_run@resource://gre/modules/Task.jsm:315:40
TaskImpl@resource://gre/modules/Task.jsm:276:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:250:14
loadManifestFromFile@resource://gre/modules/addons/XPIProvider.jsm:1461:12
AddonInstaller.InstallerService._shouldInstall/<@resource://addoninstaller/installerService.js:341:49
safeCall@resource://gre/modules/AddonManager.jsm:179:5
makeSafe/<@resource://gre/modules/AddonManager.jsm:195:25
Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:933:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:812:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:746:11
A coding exception was thrown and uncaught in a Task.
Full message: TypeError: aAddon._installLocation is undefined
Full stack: shouldVerifySignedState@resource://gre/modules/addons/XPIProvider.jsm:1662:1
verifyZipSignedState@resource://gre/modules/addons/XPIProvider.jsm:1693:8
loadManifestFromZipReader<@resource://gre/modules/addons/XPIProvider.jsm:1426:29
TaskImpl_run@resource://gre/modules/Task.jsm:315:40
TaskImpl@resource://gre/modules/Task.jsm:276:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:250:14
loadManifestFromZipFile<@resource://gre/modules/addons/XPIProvider.jsm:1451:26
TaskImpl_run@resource://gre/modules/Task.jsm:315:40
TaskImpl@resource://gre/modules/Task.jsm:276:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:250:14
loadManifestFromFile@resource://gre/modules/addons/XPIProvider.jsm:1461:12
AddonInstaller.InstallerService._shouldInstall/<@resource://addoninstaller/installerService.js:341:49
safeCall@resource://gre/modules/AddonManager.jsm:179:5
makeSafe/<@resource://gre/modules/AddonManager.jsm:195:25
Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:933:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:812:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:746:11
JavaScript warning: https://normandy.cdn.mozilla.net/static/js/bundles/selfrepair-7575f6d27445b45bcffb.js, line 9825: mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create
Stacktrace:
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start (NewProfileExtensionConnection.java:118)
at org.openqa.selenium.firefox.FirefoxDriver.startClient (FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:114)
at org.openqa.selenium.firefox.FirefoxDriver. (FirefoxDriver.java:193)
at org.openqa.selenium.firefox.FirefoxDriver. (FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver. (FirefoxDriver.java:104)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (None:-2)
at sun.reflect.NativeConstructorAccessorImpl.newInstance (None:-1)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (None:-1)
at java.lang.reflect.Constructor.newInstance (None:-1)
at org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructor (DefaultDriverFactory.java:62)
at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance (DefaultDriverFactory.java:56)
at org.openqa.selenium.remote.server.DefaultSession B r o w s e r C r e a t o r . c a l l ( D e f a u l t S e s s i o n . j a v a : 216 ) a t o r g . o p e n q a . s e l e n i u m . r e m o t e . s e r v e r . D e f a u l t S e s s i o n BrowserCreator.call (DefaultSession.java:216) at org.openqa.selenium.remote.server.DefaultSession BrowserCreator.call(DefaultSession.java:216)atorg.openqa.selenium.remote.server.DefaultSessionBrowserCreator.call (DefaultSession.java:1)
at java.util.concurrent.FutureTask.run (None:-1)
at org.openqa.selenium.remote.server.DefaultSession 1. r u n ( D e f a u l t S e s s i o n . j a v a : 170 ) a t j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r . r u n W o r k e r ( N o n e : − 1 ) a t j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r 1.run (DefaultSession.java:170) at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1) at java.util.concurrent.ThreadPoolExecutor 1.run(DefaultSession.java:170)atjava.util.concurrent.ThreadPoolExecutor.runWorker(None:−1)atjava.util.concurrent.ThreadPoolExecutorWorker.run (None:-1)
at java.lang.Thread.run (None:-1)
分析原因:
因为Selenium server版本与Firefox版本不兼容,升级Selenium 以及使用最新的selenium server版本。
解决方法:
1) 升级Selenium pip install -U selenium
2) 下载更高版本的selenium server版本 selenium-server-standalone-2.51.3.jar

3) 再次运行,成功!
更多关于软件测试,可以加好友交流