Knoten Selen ChromeDriver Ubuntu NoSuchSessionError: Diese Treiber-Instanz nicht über einen gültigen Sitzungs-ID

Hey ich bin versucht zu starten, ein Selen-Instanz auf

  • OS: Ubuntu 16.04 64bit /Linux-4.4.0-36-generic
  • Knoten: v6.5.0
  • NPM: 3.10.3
  • „chromedriver“: „^2.23.1“,
  • „selenium-webdriver“: „^3.0.0-beta-2“,

Ich bekomme immer wieder diese Fehlermeldung.

/var/www/node-bin/portlight-orders/node_modules/selenium-webdriver/lib/webdriver.js:432
        throw new error.NoSuchSessionError(
        ^

NoSuchSessionError: This driver instance does not have a valid session ID (did you call WebDriver.quit()?) and may no longer be used.
    at WebDriverError (/var/www/node-bin/portlight-orders/node_modules/selenium-webdriver/lib/error.js:27:5)
    at NoSuchSessionError (/var/www/node-bin/portlight-orders/node_modules/selenium-webdriver/lib/error.js:122:5)
    at checkHasNotQuit (/var/www/node-bin/portlight-orders/node_modules/selenium-webdriver/lib/webdriver.js:432:15)
    at Driver.schedule (/var/www/node-bin/portlight-orders/node_modules/selenium-webdriver/lib/webdriver.js:393:5)
    at Driver.quit (/var/www/node-bin/portlight-orders/node_modules/selenium-webdriver/lib/webdriver.js:480:23)
    at exitHandler (/var/www/node-bin/portlight-orders/api/services/Selenium.js:12:9)
    at emitOne (events.js:96:13)
    at process.emit (events.js:188:7)
    at process._fatalException (bootstrap_node.js:296:26)

In Blicke, sehe ich, dass chromedriver ausgeführt wird
http://image.prntscr.com/image/dfc336afbf6f46d59017b4135e9547c3.png
Knoten Selen ChromeDriver Ubuntu NoSuchSessionError: Diese Treiber-Instanz nicht über einen gültigen Sitzungs-ID

var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();

module.exports = driver;

function exitHandler(options, err) {
    driver.quit()
}

//do something when app is closing
process.on('exit', exitHandler.bind(null,{cleanup:true}));

//catches ctrl+c event
process.on('SIGINT', exitHandler.bind(null, {exit:true}));

//catches uncaught exceptions
process.on('uncaughtException', exitHandler.bind(null, {exit:true}));



One Reply
  1. 0

    Bevor Sie mit jedem Treiber-Instanz überprüfen, ob die Treiber-Sitzung aktiv ist oder nicht, hier haben wir zwei Fälle
    1. session-id vorhanden ist
    falls die session-id vorhanden ist, dann können wir weiter gehen
    2. session-id existiert nicht
    so können wir nicht weiter gehen, entweder zu stoppen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.