无法点击网页中的某个标签

时间:2019-06-18 08:54:55

标签: node.js web-scraping puppeteer

我一直试图单击位于大表头上方的ceratin选项卡。该标签页的名称为 Pitchers ,并显示为。我要去哪里错了?

website link

这是我正在尝试的脚本:

const puppeteer = require('puppeteer');

(async function main() {
  try {
    const browser = await puppeteer.launch({headless:false});
    const [page] = await browser.pages();
    await page.goto('https://www.rotowire.com/baseball/stats.php');
    await page.waitForSelector("div[data-name='p']");
    const elem = await page.$("div[data-name='p']");
    await elem.click();
    // await browser.close();
  } catch (e) {
    console.log('the error: ', e);
  }
})();

遇到的错误:

TimeoutError: waiting for selector "div[data-name='p']" failed: timeout 30000ms exceeded
  

如何获得该网页上的Pitchers标签?

1 个答案:

答案 0 :(得分:2)

该选择器区分大小写。这应该起作用:

await page.waitForSelector("div[data-name='P']");
const elem = await page.$("div[data-name='P']");

使用case-insensitive selector应该也可以:

await page.waitForSelector("div[data-name='P' i]");
const elem = await page.$("div[data-name='P' i]");