javascript - 如何使用节点 js 程序中任何元素的值?
问题描述
Element (<input id="pagenum-input" class="form-control" aria-label="..." value="1" min="1" max="28">)
我想使用 max(28) 的值作为我在第二个循环中创建的变量最大值的值。我如何从输入标签中获取最大值到我的程序?任何帮助,将不胜感激。谢谢 !
const puppeteer = require('puppeteer');
async function getPic() {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
for (let j=2; j<=6; j++) {
await page.setViewport({width: 2000, height: 2500})
await page.goto('http://epaper.freepressjournal.in/');
await page.click('body > div > div.common_section > div > div > div.rw_rightcrousel > div > div:nth-child('+j+') > a > div > img');
await page.waitFor(2000);
await page.click('#left-chunk-1 > img');
var maximum;
for (let i= 1; i<=maximum; i++) {
await page.waitFor(2000);
await page.screenshot({path: '//192.168.2.19/em/automatic downloading/Puppeteer/freepressjournal/'+j+''+i+'.png'});
await page.waitFor(2000);
await page.click('#page-div > a.right_arrow_pgright.btn_next');
}
}
await browser.close();
}
getPic();
// This loop will automatically get the value of max that is 28.
// The value of max will vary according to pages. The program should accept
// the value of max in maximum and run the loop accordingly.
for (let i= 1; i<=maximum; i++)
解决方案
您可以借助page.evaluate
函数与页面上的任何元素进行交互。以下是查找感兴趣的输入元素并访问其属性之一的方法:
var maximum = await page.evaluate(() => {
return document.getElementById("pagenum-input").getAttribute("max");
});
推荐阅读
- sql - 如何在 M:m 表 SQL 中以三种不同的情况显示 id
- php - 如何将 XML 元素从一个文档插入到另一个文档
- python - 如何计算 pyspark 数据框中多个分类列中出现的唯一数据
- javascript - 如何使用 ajax 调用创建动态 html 表
- path - Input_Path_Not_Canonicalized - checkmarx 中的 PathTravesal 漏洞
- reactjs - 在将应用程序推送到存储之前,如何在 app.json 中为 IOS 和 Android 允许 HTTP 流量?
- mongodb - 使用猫鼬获取数组中子文档值的计数
- aws-step-functions - 使用 boto3 获取活动步进函数执行的数量
- google-apps-script - Google Sheet - 打开离线模式
- javascript - Vue:Async Apollo mixin 函数打印一个值,但返回未定义