46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
const { Builder, By, Key, until } = require('selenium-webdriver')
|
|
const chrome = require('selenium-webdriver/chrome')
|
|
const firefox = require('selenium-webdriver/firefox')
|
|
const config = require('./config')
|
|
|
|
const setsUrl = 'https://www.echomtg.com/sets/'
|
|
|
|
const setsClass = '.main.marketAnalysis.sets'
|
|
|
|
if (!/^(firefox|chrome)$/i.test(config.browser)) {
|
|
console.log('browser type not support')
|
|
process.exit(1)
|
|
}
|
|
|
|
;(async () => {
|
|
let opts = null
|
|
let driver = null
|
|
if (/firefox/i.test(config.browser)) {
|
|
opts = new firefox.Options()
|
|
opts.headless()
|
|
if (config.firefox_path.length > 0) {
|
|
opts.setBinary(config.firefox_path)
|
|
}
|
|
driver = await new Builder().forBrowser('firefox').setFirefoxOptions(opts).build()
|
|
} else if (/chrome/i.test(config.browser)) {
|
|
opts = new chrome.Options()
|
|
opts.headless()
|
|
if (config.chrome_path.length > 0) {
|
|
opts.setChromeBinaryPath(config.chrome_path)
|
|
}
|
|
driver = await new Builder().forBrowser('chrome').setChromeOptions(opts).build()
|
|
} else {
|
|
console.log('browser type not support')
|
|
}
|
|
// driver = await new Builder().forBrowser('firefox').setFirefoxOptions(ffOpts).build()
|
|
await driver.get(setsUrl)
|
|
let el = await driver.findElement(By.css(setsClass))
|
|
let sets = await el.findElements(By.css('h4>a'))
|
|
|
|
for (let it of sets) {
|
|
console.log(await it.getText())
|
|
}
|
|
//console.log(sets)
|
|
})().catch(console.warn)
|
|
|