puppeteer的使用
# 使用puppeteer来进行翻译
const puppeteer = require('puppeteer');
const cheerio = require('cheerio')
const fs = require('fs')
function parse(html) {
// console.log(html)
const $ = cheerio.load(html)
const text = $('.output-wrap .target-output').text()
console.log(text.split(' '))
// fs.writeFileSync('./1.html', html)
}
function delay(time) {
return new Promise(function(resolve) {
setTimeout(resolve, time)
});
}
/**
* 输入 #baidu_translate_input
* 输出 .output-wrap
* 翻译按钮 #translate-button
*/
(async () => {
const browser = await puppeteer.launch({headless: true, args: ['--no-sandbox']});
const page = await browser.newPage();
await page.goto('https://fanyi.baidu.com/?aldtype=16047#auto/zh');
const closeBtn = await page.$('.app-guide-close')
await closeBtn.click()
const input_area =await page.$("#baidu_translate_input");
const search_btn=await page.$('#translate-button');
await input_area.type("hello world\ngood job", { delay: 10 });
await search_btn.click();
// await page.screenshot({path: 'example.png'});
// await page.pdf({path: 'hn.pdf', format: 'A4'});
// await page.type('#baidu_translate_input', '你好', { delay: 10 });
await delay(1000)
const html = await page.content()
const result = parse(html)
await browser.close();
})();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
上次更新: 2022/07/17, 11:23:44