可以在 devtools 中使用 select 元素,但不能在 puppeteer 中使用

Can select element in devtools but not puppeteer

我正在和木偶师一起工作。我想获取文本框中选定元素的节点值。使用开发工具我复制了选择器:

  var mySelector = "div.chosen-container.chosen-container-multi.filter-main-values.fmd-values.chosen-container-active.chosen-with-drop > ul > li.search-choice > span";

我可以用它在 devtools 中找到它:

但是在 运行 我的人偶代码之后:

  var selectedCountry = await page.evaluate((mySelector) => {return Array.from(document.querySelectorAll(mySelector))});
  console.log(selectedCountry);

在vs代码调试中window,我看到:

(0) []

我做错了什么?

您没有正确地将选择器传递给 evaluate 函数。

var selectedCounty = await page.evaluate((selectedCountySelector) => {

  return Array.from(document.querySelectorAll(selectedCountySelector))

}, selectedCountySelector); // <-- pass it here

console.log(selectedCounty);