Webdriver无法使用phantomjs创建会话

沙伯坦

我已按照“设置PhantomJS”中的说明进行操作

请找到如下目录结构

吽 find . -name phantomjs; ll
./node_modules/.bin/phantomjs
./node_modules/phantomjs
./node_modules/phantomjs/bin/phantomjs
./node_modules/phantomjs/lib/phantom/bin/phantomjs
total 16
-rw-r--r--  1 sarbbo  Y\Domain Users  1269 Mar 23 12:02 specs.js
drwxr-xr-x  4 sarbbo  Y\Domain Users   136 Mar 23 12:08 node_modules
-rw-r--r--  1 sarbbo  Y\Domain Users   204 Mar 23 12:25 conf.js

conf.js的内容如下所述。

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['specs.js'],
  capabilities: {
    'browserName': 'phantomjs',
    'phantomjs.binary.path': require('phantomjs').path
  }
}

根据需要工作 capabilities: {'browserName': 'chrome'}

protractor conf.js被执行时,显示以下错误:

webdriver-manager [ webdriver-manager已通过webdriver-manager start命令启动]

12:41:41.043 INFO - Executing: [new session: Capabilities [{phantomjs.binary.path=/Users/sarbbo/GitHub/protractor/node_modules/phantomjs/lib/phantom/bin/phantomjs, count=1, browserName=phantomjs}]])
12:41:41.052 INFO - Creating a new session for Capabilities [{phantomjs.binary.path=/Users/sarbbo/GitHub/protractor/node_modules/phantomjs/lib/phantom/bin/phantomjs, count=1, browserName=phantomjs}]
12:41:41.054 WARN - Exception thrown
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37'
System info: host: 'rushpress-lm', ip: '10.73.199.247', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.2', java.version: '1.8.0_25'
Driver info: driver.version: unknown
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:175)
    at org.openqa.selenium.remote.server.DefaultSession.<init>(DefaultSession.java:111)
    at org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:88)
    at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:108)
    at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:57)
    at org.openqa.12:41:41.059 WARN - Exception: org.openqa.selenium.browserlaunchers.Proxies

并因量角器错误-无法启动WebDriver会话。

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:113
  var template = new Error(this.message);
                 ^
UnknownError: org.openqa.selenium.browserlaunchers.Proxies
    at new bot.Error (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:113:18)
    at Object.bot.response.checkResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
    at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:152:24
    at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
    at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1654:20)
    at notify (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:465:12)
    at notifyAll (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:442:7)
    at resolve (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:420:7)
    at fulfill (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:535:5)
    at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
==== async task ====
WebDriver.createSession()
    at Function.webdriver.WebDriver.acquireSession_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:149:22)
    at Function.webdriver.WebDriver.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:123:30)
    at Builder.build (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:294:22)
    at DriverProvider.getNewDriver (/usr/local/lib/node_modules/protractor/lib/driverProviders/driverProvider.js:50:7)
    at Runner.createBrowser (/usr/local/lib/node_modules/protractor/lib/runner.js:178:37)
    at /usr/local/lib/node_modules/protractor/lib/runner.js:259:24
    at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:759:13)
[launcher] Process exited with error code 1

任何指针都会有很大帮助。

谢谢

沙伯坦

更新量角器解决了此问题,该问题使用selenium-server-standalone-2.45.0.jar

您可能需要使用执行以下命令sudo

npm i protractor -g
webdriver-manager update

更新26-MAR-2015

上面的方法适用于phantomjs-1.9.8,但不适用于phantomjs-2.0.0。在本地更新了phantomjs版本,并从本地副本安装。

发生了同样的问题看起来selenium-server-standalone-2.45.0.jarphantomjs-2.0.0不兼容


TL; DR

在寻找解决方案时,我遇到了

降级到2.43.1版可以解决此问题,因此我怀疑2.44.0中的更改破坏了在网格上使用PhantomJS的能力。

问题8102:PhantomJS在Selenium Grid 2.44.0上不起作用

我系统中selenium-server-standalone礼物/usr/local/lib/node_modules/protractor/selenium也是selenium-server-standalone-2.44.0.jar

所以,我试图寻找降级selenium-server-standalone通过webdriver-manager,但也没有找到任何合适的选项

吽 webdriver-manager --help
Usage: webdriver-manager <command>
Commands:
  update: install or update selected binaries
  start: start up the selenium server
  status: list the current available drivers

Options:
  --out_dir        Location to output/expect                         [default: "/usr/local/lib/node_modules/protractor/selenium"]
  --seleniumPort   Optional port for the selenium standalone server
  --ignore_ssl     Ignore SSL certificates                           [default: false]
  --proxy          Proxy to use for the install or update command
  --alternate_cdn  Alternate CDN to the binaries
  --standalone     Install or update selenium standalone             [default: true]
  --chrome         Install or update chromedriver                    [default: true]
  --ie             Install or update IEDriver                        [default: false]

Please specify one command

所以我selenium-server-standalone-2.43.1.jar通过下载curl/usr/local/lib/node_modules/protractor/selenium

sudo curl -O https://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.1.jar

但是,在通过命令启动webdriver-manager时webdriver-manager start,显示以下消息。

Selenium Standalone is not present. Install with webdriver-manager update --standalone

我只是下载了selenium-server-standalone-2.43.1.jar,但是为什么webdriver-manager会抱怨呢?

在查看位于的webdriver-manager代码时/usr/local/lib/node_modules/protractor,我注意到以下几点:

if (!binaries.standalone.exists) {
  console.error('Selenium Standalone is not present. Install with ' +
      'webdriver-manager update --standalone');
  process.exit(1);
}

它试图的存在匹配selenium-server-standalone按照以/usr/local/lib/node_modules/protractor/config.json

以下是内容 /usr/local/lib/node_modules/protractor/config.json

{
  "webdriverVersions": {
    "selenium": "2.44.0",
    "chromedriver": "2.14",
    "iedriver": "2.44.0"
  }
}

在更新量角器时 /usr/local/lib/node_modules/protractor/config.json更新为

{
  "webdriverVersions": {
    "selenium": "2.45.0",
    "chromedriver": "2.14",
    "iedriver": "2.45.0"
  }
}

然后执行webdriver-manager update安装selenium-server-standalone-2.45.0.jar沿chromedriver


现在,在执行protractor conf.js时按预期执行

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Telnet会话已在使用中,无法创建会话

未创建Webdriver.io会话:无法创建新服务:GeckoDriverService

Tensorflow:无法创建会话

phantomjs无法使用exec

WebDriver PhantomJS无法找到元素,但在Firefox上可以正常使用

手动创建新的Webdriver会话

无法使用ms08_067_netapi创建会话

Selenium服务器无法使用HTMLUnit创建会话

无法使用“ actions-on-google-node.js”创建会话实体

使用PhantomJS代理时使用远程Webdriver?

远程WebDriver UnreachableBrowserException:无法启动新的会话

未创建会话异常:将Selenium Webdriver与Chrome搭配使用时,Chrome版本必须> = xyz

Spring Boot无法创建会话

ARCore –无法创建AR会话

无法创建新的远程会话

获取无法创建新会话

如何使用phantomjs创建gif?

无法使用Phantomjs单击元素

tokbox创建会话时出错:错误:无法创建会话

Selenium Python无头Webdriver(PhantomJS)无法正常工作

WebDriver:可以使用同一浏览器创建x2单独的“ Cookie”会话吗?

retryAnalyzer :“NoSuchSessionException:会话 ID 为空。调用quit() 后使用WebDriver”即使重新创建了新会话也会抛出

打开Chrome时,Python Selenium Webdriver“未创建会话”异常

如何使用Java使用Selenium WebDriver实现PhantomJS

如何使用PhantomJS使用Selenium Webdriver打开附加链接?

如何使用phantomJS使用Selenium WebDriver打开附加链接?

Java servlet,会话:创建空会话,无法使其无效

量角器错误-无法启动WebDriver会话

量角器给出“无法启动WebDriver会话”错误