diff --git a/duckduckgo.js b/duckduckgo.js index d93a78e..f2000b2 100644 --- a/duckduckgo.js +++ b/duckduckgo.js @@ -1,56 +1,56 @@ -const puppeteer = require('puppeteer') - -const loginEmail = process.env.MATTERMOST_EMAIL; -const loginPassword = process.env.MATTERMOST_PWD; -const ddgUrl = 'https://duckduckgo.com' - -async function login(browser, url) { - const page = await browser.newPage(); - - await page.goto(url, {waitUntil: 'networkidle0'}); - - // Login - await page.type('input[id=loginId]', loginEmail); - await page.type('input[id=loginPassword]', loginPassword); - await page.click('button[id=loginButton]'); - - // Wait for redirect - await page.waitForNavigation(); - return page; -} - -async function postMessage(page, msg) -{ - // Waiting for page to load - await page.waitForSelector('#post_textbox'); - - // Focus on post textbox and press enter. - await page.focus('#post_textbox') - await page.keyboard.type( msg ); - //await page.keyboard.press('Enter'); -} - -(async () => { - - const browser = await puppeteer.launch({headless: false, args: ["--no-sandbox", "--disable-web-security"]}); - const page = await browser.newPage() - - // Pretend you are a iPhone X - // await page.setUserAgent('Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'); - // await page.setViewport({ width: 375, height: 812 }); - await page.goto(ddgUrl, { waitUntil: 'networkidle2' }) - await page.type('#search_form_input_homepage', 'Puppeteer') - await page.keyboard.press('Enter'); - - await page.waitForSelector('h2 a'); - const links = await page.evaluate(() => { - return Array.from(document.querySelectorAll('h2 a')); - }); - console.log(links.length) - - // browser.close(); - - -})() - - +const puppeteer = require('puppeteer') + +const loginEmail = process.env.MATTERMOST_EMAIL; +const loginPassword = process.env.MATTERMOST_PWD; +const ddgUrl = 'https://duckduckgo.com' + +async function login(browser, url) { + const page = await browser.newPage(); + + await page.goto(url, {waitUntil: 'networkidle0'}); + + // Login + await page.type('input[id=loginId]', loginEmail); + await page.type('input[id=loginPassword]', loginPassword); + await page.click('button[id=loginButton]'); + + // Wait for redirect + await page.waitForNavigation(); + return page; +} + +async function postMessage(page, msg) +{ + // Waiting for page to load + await page.waitForSelector('#post_textbox'); + + // Focus on post textbox and press enter. + await page.focus('#post_textbox') + await page.keyboard.type( msg ); + //await page.keyboard.press('Enter'); +} + +(async () => { + + const browser = await puppeteer.launch({headless: false, args: ["--no-sandbox", "--disable-web-security"]}); + const page = await browser.newPage() + + // Pretend you are a iPhone X + await page.setUserAgent('Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'); + await page.setViewport({ width: 375, height: 812 }); + await page.goto(ddgUrl, { waitUntil: 'networkidle2' }) + await page.type('#search_form_input_homepage', 'Puppeteer') + await page.keyboard.press('Enter'); + + await page.waitForSelector('h2 a'); + const links = await page.evaluate(() => { + return Array.from(document.querySelectorAll('h2 a')); + }); + console.log(links.length) + + //browser.close(); + + +})() + + diff --git a/test/search.js b/test/search.js index 0d18fe4..6d46f51 100644 --- a/test/search.js +++ b/test/search.js @@ -1,33 +1,33 @@ -const puppeteer = require('puppeteer'); -const { expect } = require('chai'); - -describe('Duck Duck Go search using basic Puppeteer', function () { - - let browser; - let page; - - this.timeout(5000000); - - beforeEach(async () => { - browser = await puppeteer.launch({headless:true}); - page = await browser.newPage(); - - await page.goto('https://duckduckgo.com', {waitUntil: 'networkidle0'}); - }); - - afterEach(async () => { - await browser.close(); - }); - - it('should be the correct url', async () => { - expect(await page.url()).to.eql('https://google.com/'); - }); - - it('should have the correct page title', async () => { - expect(await page.title()).to.eql('DuckDuckGo — Privacy, simplified.'); - }); - - it('should have the page open', async () => { - expect(await page.isClosed()).to.eql(true); - }); +const puppeteer = require('puppeteer'); +const { expect } = require('chai'); + +describe('Duck Duck Go search using basic Puppeteer', function () { + + let browser; + let page; + + this.timeout(5000000); + + beforeEach(async () => { + browser = await puppeteer.launch({headless:true}); + page = await browser.newPage(); + + await page.goto('https://duckduckgo.com', {waitUntil: 'networkidle0'}); + }); + + afterEach(async () => { + await browser.close(); + }); + + it('should be the correct url', async () => { + expect(await page.url()).to.eql('https://duckduckgo.com/'); + }); + + it('should have the correct page title', async () => { + expect(await page.title()).to.eql('DuckDuckGo — Privacy, simplified.'); + }); + + it('should have the page open', async () => { + expect(await page.isClosed()).to.eql(false); + }); }); \ No newline at end of file