【问题标题】:Selecting dropdown option with puppeteer使用 puppeteer 选择下拉选项
【发布时间】:2021-09-04 03:02:00
【问题描述】:

尝试自动选择 Wunderground/wundermap (https://www.wunderground.com/wundermap) 中的下拉项目,并有点挣扎。选择项没有命名,并且在每次页面加载时都会获得一个随机 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>

尝试使用 puppeteer 选择暗图。

我尝试了几个页面评估选项,但他们似乎没有找到元素。有什么建议吗?

【问题讨论】:

    标签: puppeteer


    【解决方案1】:

    这似乎有效:

    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); }
    

    【讨论】:

    • 谢谢。那效果很好。我必须采取的唯一额外措施是在快照前暂停几秒钟以允许其更新。
    猜你喜欢
    • 2020-09-15
    • 2019-05-01
    • 2018-08-13
    • 2019-09-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    相关资源
    最近更新 更多