无头Chrome Puppeteer选择选项从下拉没有id

时间:2017-09-28 15:27:35

标签: node.js google-chrome headless puppeteer

我主要使用带有nodejs puppeteer库的无头chrome。我在下拉菜单中选择或点击任何选项时遇到问题。问题是所有ID都是动态的,每次点击都会改变。我试图抓取HTML并搜索当前的ID,但无济于事。

有没有其他方法可以选择一个选项?是否可以使用除id之外的其他选择器?

The code for the drop down

注意图片:它说的是“homeState-aria-id-7'数字7是动态生成的

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全遵循动态创建ID会导致问题的原因。这是一个示例,说明我如何解决问题并为上面的代码使用选择器。

page.evaluate(optionSelector => {
    return document.querySelector(optionSelector).setAttribute('selected, 'true');
}, 'select[name="homeState"] > option[value="AL"]');