为什么 Puppeteer 不能点击这个按钮?

Why Puppeteer couldn't click this button?

我在 Puppeteer 中写了一个脚本来抓取这个网站“https://jobs.abb.com/jobsearch/”。它有一个名为 "More" 的按钮来显示所有职位发布。其实就是一个list()。我无法从我的 Puppeteer 脚本中单击 "More"。

这是为什么? 我怎样才能点击它? 有什么办法吗?

let URL = "https://jobs.abb.com/jobsearch/?sap-language=EN#";

// Open the above URL in a browser's new page
const ping = async () => {
  const browser = await puppeteer.launch({ headless: false, args:['--start-maximized' ] });
  const page = await browser.newPage();
  await page.setViewport({ width: 1366, height: 768 });
  await page.setDefaultNavigationTimeout(0);
  await page.goto(URL, { waitUntil: "load" });


// Method - 1
await page
     .waitForSelector("#__component0---map_search--tableJobs-trigger")
     .then(() => console.log("Selector found"));

   await page
     .$eval("#__component0---map_search--tableJobs-trigger", e => e.click())
     .then(console.log("Clicked"))
     .catch(err => console.log(err));

// Method - 2
   await page.waitForSelector("#__component0---map_search--tableJobs-trigger");
   await page.click("#__component0---map_search--tableJobs-trigger");

}

ping();

Method - 1, didn't create any error at the same time it didn't click the button too.

...

Method - 2, it produced an error "Error: Node is either not visible or not an HTMLElement"

有没有办法抓取像这样的页面“https://jobs.abb.com/jobsearch/?sap-language=EN#”?

Note: I think it is been connected with SAP UI

我不确定为什么正常的 page.click(selector) 或 eval(selector, e => e.click) 不适用于 ui5 按钮,但以下内容对我有用:

editButton = await page.waitForSelector("#__button87");
await editButton.click();

人偶版本:5.3.1