Skip to content

Instantly share code, notes, and snippets.

@sincerefly
Last active January 16, 2019 06:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sincerefly/02974bb4fcebf808183cd2a0fc383da2 to your computer and use it in GitHub Desktop.
Save sincerefly/02974bb4fcebf808183cd2a0fc383da2 to your computer and use it in GitHub Desktop.
selenium vs puppeteer (chrome & Firefox) 打印网页标题
[dongdong@fedora29 headless-test]$ cat firefox-headless.py
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
driver.set_window_position(0, 0)
driver.set_window_size(1366, 768)
driver.get("https://www.baidu.com/")
print(driver.title)
driver.quit()
[dongdong@fedora29 headless-test]$ cat firefox-xvfb.py
#!/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
with Display(visible=0, size=(1366, 768)):
browser = webdriver.Firefox()
browser.get('https://www.baidu.com/')
print(browser.title)
browser.quit()
[dongdong@fedora29 headless-test]$ cat chrome-headless.py
#coding:utf-8
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--window-size=1366,768')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("https://www.baidu.com/")
print(driver.title)
driver.quit()
[dongdong@fedora29 headless-test]$ cat chrome-xvfb.py
#!/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
with Display(visible=0, size=(1366, 768)):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get('https://www.baidu.com/')
print(browser.title)
browser.quit()
[dongdong@fedora29 headless-test]$ cat firefox-headless.js
const firefox = require('selenium-webdriver/firefox');
const webdriver = require('selenium-webdriver');
var co = new firefox.Options();
co.addArguments("--window-size=1366,768")
co.addArguments('--headless')
let driver = new webdriver.Builder()
.forBrowser('firefox')
.setFirefoxOptions(co)
.build();
(async function visit() {
await driver.get("https://www.baidu.com/");
const title = await driver.getTitle();
console.log(title);
await driver.quit();
})();
[dongdong@fedora29 headless-test]$ cat chrome-headless.js
const chrome = require('selenium-webdriver/chrome');
const webdriver = require('selenium-webdriver');
var co = new chrome.Options();
co.addArguments("--window-size=1366,768")
co.addArguments('--headless')
co.addArguments('--disable-gpu')
co.addArguments('--no-sandbox')
let driver = new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(co)
.build();
(async function visit() {
await driver.get("https://www.baidu.com");
const title = await driver.getTitle();
console.log(title);
await driver.quit();
})();
[dongdong@fedora29 headless-test]$ cat chrome-puppeteer.js
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--window-size=1366,768'
]
});
const page = await browser.newPage();
await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://www.baidu.com/');
const page_title = await page.title();
console.log(page_title)
await browser.close();
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment