aaaa
This commit is contained in:
@@ -13,12 +13,12 @@
|
|||||||
"command-line-args": "^5.1.1",
|
"command-line-args": "^5.1.1",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"express-logging": "^1.1.1",
|
"express-logging": "^1.1.1",
|
||||||
"generic-pool": "^3.7.1",
|
"generic-pool": "^3.7.8",
|
||||||
"http-status-codes": "^1.4.0",
|
"http-status-codes": "^1.4.0",
|
||||||
"logops": "^2.1.1",
|
"logops": "^2.1.1",
|
||||||
"node-fetch": "^2.6.1",
|
"node-fetch": "^2.6.1",
|
||||||
"puppeteer-cluster": "^0.22.0",
|
"puppeteer-cluster": "^0.22.0",
|
||||||
"puppeteer-core": "^1.9.0",
|
"puppeteer-core": "^1.9.0",
|
||||||
"selenium-webdriver": "^4.0.0-alpha.7"
|
"selenium-webdriver": "^4.0.0-beta.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ const logger = require("logops")
|
|||||||
, { By } = require('selenium-webdriver')
|
, { By } = require('selenium-webdriver')
|
||||||
, url = require('url')
|
, url = require('url')
|
||||||
, fetch = require('node-fetch')
|
, fetch = require('node-fetch')
|
||||||
const { request } = require("./SeleniumBrowser")
|
|
||||||
|
|
||||||
|
|
||||||
class CaptchaComp {
|
class CaptchaComp {
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ const logger = require("logops")
|
|||||||
, { By, until } = require('selenium-webdriver')
|
, { By, until } = require('selenium-webdriver')
|
||||||
, captcha = require('../component/CaptchaComp')
|
, captcha = require('../component/CaptchaComp')
|
||||||
, poolingService = require('../service/PoolingService')
|
, poolingService = require('../service/PoolingService')
|
||||||
const { NoSuchSessionError } = require("selenium-webdriver/lib/error")
|
|
||||||
|
|
||||||
|
|
||||||
class SeleniumBrowser {
|
class SeleniumBrowser {
|
||||||
|
|||||||
@@ -5,13 +5,20 @@ const logger = require("logops")
|
|||||||
, { Options } = require('selenium-webdriver/chrome');
|
, { Options } = require('selenium-webdriver/chrome');
|
||||||
|
|
||||||
class PoolingService {
|
class PoolingService {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.config = {
|
this.config = {
|
||||||
pool: { max: 10, min: 1, testOnBorrow: true },
|
pool: { max: 10, min: 1, testOnBorrow: true },
|
||||||
browser: 'chrome',
|
browser: 'chrome',
|
||||||
browserArgs: ['--no-sandbox', '--headless', '--disable-dev-shm-usage', '--proxy-server=spiduler-tor:8118']
|
browserArgs: ['--no-sandbox', '--headless', '--disable-dev-shm-usage', '--proxy-server=spiduler-tor:8118']
|
||||||
}
|
}
|
||||||
this.pool = this.createPool()
|
this.pool = this.createPool()
|
||||||
|
this.pool.on("factoryCreateError", function (err) {
|
||||||
|
console.log('factoryCreateError', err);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.pool.on("factoryDestroyError", function (err) {
|
||||||
|
console.log('factoryDestroyError', err);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
createPool() {
|
createPool() {
|
||||||
@@ -29,7 +36,7 @@ class PoolingService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
destroy(driver) {
|
destroy(driver) {
|
||||||
logger.info('Quitting driver')
|
logger.info('Quitting driver')
|
||||||
return this.pool.release(driver).then(() => driver.quit().catch(err => {
|
return this.pool.release(driver).then(() => driver.quit().catch(err => {
|
||||||
logger.debug({ message: err.message }, 'Quitting error')
|
logger.debug({ message: err.message }, 'Quitting error')
|
||||||
}))
|
}))
|
||||||
|
|||||||
Reference in New Issue
Block a user