使用 puppeteer 选择下拉选项
Selecting dropdown option with puppeteer
尝试自动 selection Wunderground/wundermap (https://www.wunderground.com/wundermap) 中的下拉项,但有点挣扎。 selection 项目未命名,每次加载页面时都会获得一个随机 ID(ID 的公共元素,但新编号)。元素是:
<select aria-label="Map Types" class="header-select ng-pristine ng-valid ng-touched" style="width: 200px;" id="mapTypes0.3556425555390934"><option title="Show street map with terrain" value="terrain" selected="selected">Terrain</option><option title="Show Dark Map" value="darkmap">Dark Map</option><option title="Show Light Map" value="lightmap">Light Map</option><option title="Show satellite imagery" value="satellite">Satellite</option><option title="Show imagery with street names" value="hybrid">Hybrid</option></select>
正在尝试 select 使用 puppeteer 的暗图。
我尝试了几个页面评估选项,但它们似乎没有找到元素。有什么建议吗?
这似乎有效:
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch({ headless: false, defaultViewport: null });
try {
const [page] = await browser.pages();
await page.goto('https://www.wunderground.com/wundermap');
const select = await page.waitForSelector('select[aria-label="Map Types"]');
await select.select('darkmap');
} catch (err) { console.error(err); }
尝试自动 selection Wunderground/wundermap (https://www.wunderground.com/wundermap) 中的下拉项,但有点挣扎。 selection 项目未命名,每次加载页面时都会获得一个随机 ID(ID 的公共元素,但新编号)。元素是:
<select aria-label="Map Types" class="header-select ng-pristine ng-valid ng-touched" style="width: 200px;" id="mapTypes0.3556425555390934"><option title="Show street map with terrain" value="terrain" selected="selected">Terrain</option><option title="Show Dark Map" value="darkmap">Dark Map</option><option title="Show Light Map" value="lightmap">Light Map</option><option title="Show satellite imagery" value="satellite">Satellite</option><option title="Show imagery with street names" value="hybrid">Hybrid</option></select>
正在尝试 select 使用 puppeteer 的暗图。
我尝试了几个页面评估选项,但它们似乎没有找到元素。有什么建议吗?
这似乎有效:
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch({ headless: false, defaultViewport: null });
try {
const [page] = await browser.pages();
await page.goto('https://www.wunderground.com/wundermap');
const select = await page.waitForSelector('select[aria-label="Map Types"]');
await select.select('darkmap');
} catch (err) { console.error(err); }