如何使用 getElementsByClassName 获取元素?
How to get elements using getElementsByClassName?
我正在使用 nightmareJS 并尝试使用 document.getElementsByClassName 进行网络抓取,这是代码:
import Nightmare from 'nightmare'
const nightmare = Nightmare({ show: true })
var name = name
nightmare
.goto('https://www.amazon.com/')
.insert("input[aria-label='Search']", 'impressora')
.click("input[value='Go']")
.wait(2000)
.evaluate(function(){
let text = document.getElementsByClassName('a-offscreen')[0];
name = text;
return name;
}).then(function (name) {
console.log('Price:', name)
});
The code gets until here
输出是这样的:
Price: [object HTMLSpanElement]
我想得到的是class“a-offscreen”中的价格。谁能帮忙?谢谢。
document.getElementsByClassName(class);
returns 具有查询 class 但不包含其内容的元素集合,因此您必须访问元素的 innerText
属性:
let text = document.getElementsByClassName('a-offscreen')[0].innerText;
name = text;
return name;
输出将是:
Price: 9.99
我正在使用 nightmareJS 并尝试使用 document.getElementsByClassName 进行网络抓取,这是代码:
import Nightmare from 'nightmare'
const nightmare = Nightmare({ show: true })
var name = name
nightmare
.goto('https://www.amazon.com/')
.insert("input[aria-label='Search']", 'impressora')
.click("input[value='Go']")
.wait(2000)
.evaluate(function(){
let text = document.getElementsByClassName('a-offscreen')[0];
name = text;
return name;
}).then(function (name) {
console.log('Price:', name)
});
The code gets until here
输出是这样的:
Price: [object HTMLSpanElement]
我想得到的是class“a-offscreen”中的价格。谁能帮忙?谢谢。
document.getElementsByClassName(class);
returns 具有查询 class 但不包含其内容的元素集合,因此您必须访问元素的 innerText
属性:
let text = document.getElementsByClassName('a-offscreen')[0].innerText;
name = text;
return name;
输出将是:
Price: 9.99