Last active
January 16, 2019 06:34
-
-
Save sincerefly/02974bb4fcebf808183cd2a0fc383da2 to your computer and use it in GitHub Desktop.
selenium vs puppeteer (chrome & Firefox) 打印网页标题
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[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