Javascript 使用Puppeter在类中选择div
嗨,我正在尝试在类中选择一个给定的div。html的设置如下所示:Javascript 使用Puppeter在类中选择div,javascript,puppeteer,Javascript,Puppeteer,嗨,我正在尝试在类中选择一个给定的div。html的设置如下所示: <div class="items"> <div>fist div</div> <div>second div</div> <div>third div</div> </div> <div class="items"> <div>fist
<div class="items">
<div>fist div</div>
<div>second div</div>
<div>third div</div>
</div>
<div class="items">
<div>fist div two</div>
<div>second div two</div>
<div>third div two</div>
</div>
<div class="items">
<div>fist div three</div>
<div>second div three</div>
<div>third div three</div>
</div>
这会像这样返回所有divs inn ann数组
["fist div"],["second div"],["third div"]
我想达到的是让所有的演员都参加所有的课程。所以它看起来像:
[
["fist div"],["second div"],["third div"],
["fist div two"],["second div two"],["third div two"],
["fist div three"],["second div three"],["third div three"],
]
我正在做一个foor循环,但我似乎无法让它工作。有什么想法吗?嗯,你需要两个循环:
let info = await page.evaluate(() => {
let data = [];
let elements = document.getElementsByClassName("items");
for (var j in elements) {
let yr = elements[j].getElementsByTagName("div");
for (var i of yr) {
data.push(i.textContent);
}
}
return data;
});
或者,更通俗地说:
let info=wait page.evaluate(()=>{
让数据=[];
document.getElementsByClassName(“items”).forEach(e=>
e、 getElementsByTagName(“div”).forEach(i=>data.push(i.textContent))
);
});
嗯,您需要两个循环:
let info = await page.evaluate(() => {
let data = [];
let elements = document.getElementsByClassName("items");
for (var j in elements) {
let yr = elements[j].getElementsByTagName("div");
for (var i of yr) {
data.push(i.textContent);
}
}
return data;
});
或者,更通俗地说:
let info=wait page.evaluate(()=>{
让数据=[];
document.getElementsByClassName(“items”).forEach(e=>
e、 getElementsByTagName(“div”).forEach(i=>data.push(i.textContent))
);
});
只需添加for循环并获取长度即可
要获取所有元素,
当您使用元素[0]
时,您只需获得第一个
let info=wait page.evaluate(()=>{let data=[];
let elements=document.getElementsByClassName(“items”);
for(设x=0;x只需添加for循环并获得长度
要获取所有元素,
当您使用元素[0]
时,您只需获得第一个
let info=wait page.evaluate(()=>{let data=[];
let elements=document.getElementsByClassName(“items”);
对于(x=0;席)得到这个错误:评估失败:Type Error:元素[j]。GETELMENTSMEBTAGNOTEND不是一个函数,得到这个错误:评估失败:Type Error:元素[j]。GETELMENTSMEBTAGNOTENT不是函数,我会看到这个问题的第二个答案。我会看到这个问题的第二个答案。
let info = await page.evaluate(() => { let data = [];
let elements = document.getElementsByClassName("items");
for(let x=0;x<elements.length;x++){
let yr = elements[x].getElementsByTagName("div");
for (var i of yr) {
data.push(i.textContent);
}
}
return data;
});