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)