60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
const logger = require("logops")
|
|
, { Builder, Capabilities, By, Key, until } = require('selenium-webdriver')
|
|
, url = require('url')
|
|
, fetch = require('node-fetch')
|
|
, pool = require('generic-pool')
|
|
, { Options } = require('selenium-webdriver/chrome');
|
|
|
|
|
|
|
|
|
|
class Test {
|
|
|
|
constructor() {
|
|
this.config = {
|
|
useHub: true, browser: 'chrome',
|
|
browserArgs: ['--no-sandbox', '--headless', '--disable-dev-shm-usage', '--proxy-server=spiduler-tor:8118']
|
|
}
|
|
this.capabilities = Capabilities.chrome()
|
|
|
|
this.getDriver().then(driver => {
|
|
driver.get('https://www.naver.com/')
|
|
.then(() => driver.findElement(By.css('body')))
|
|
.then(body => body.getAttribute('innerHTML'))
|
|
driver.getSession().then(s => {
|
|
let id = s.getId()
|
|
console.log(id)
|
|
// driver.close()
|
|
// driver.quit()
|
|
driver.get('https://www.naver.com/')
|
|
.then(() => driver.findElement(By.css('body')))
|
|
.then(body => body.getAttribute('innerHTML'))
|
|
.finally(() => {
|
|
// driver.close().then(a => console.log(a))
|
|
driver.quit().then(q => console.log(q))
|
|
})
|
|
// driver.quit()
|
|
return ''
|
|
}).catch(err => {
|
|
console.log(err.message)
|
|
})
|
|
})
|
|
|
|
|
|
}
|
|
|
|
async getDriver() {
|
|
let opts = new Options;
|
|
opts.addArguments(this.config.browserArgs)
|
|
return new Builder()
|
|
.usingServer('http://spiduler-chrome:4444/wd/hub')
|
|
.withCapabilities(this.capabilities)
|
|
.forBrowser(this.config.browser)
|
|
.setChromeOptions(opts)
|
|
.build();
|
|
}
|
|
}
|
|
|
|
const test = new Test
|
|
|