在布袋戏中,我试图在页面中获得一个p
元素,该元素是动态创建的。在本地,我通过以下方式启动人偶实例:
puppeteer.launch({
headless: false,
timeout: 90000,
args: [`--no-sandbox`, `--disable-setuid-sandbox`],
});
我可以通过以下方式到达页面中的元素:
await page.goto(URL);
await page.waitForSelector(`#selectorName`, {
timeout: 90000,
});
const res = await page.evaluate(() => {
const p = document.querySelector(`#selectorName`);
return p.innerHTML;
});
我想在产品环境中使用browserless.io,所以我将按以下方式连接到实例,而不是在本地启动Chromium:
puppeteer.connect({ browserWSEndpoint: wss://chrome.browserless.io?token=API_TOKEN })
但是,此设置中的waitForSelector
函数会导致超时。该URL是相同的,我检查了页面是否仍打开所需的URL(通过page.url()
),并且在本地打开页面时p
元素仍然存在。当我在browserless.io中呈现页面时,是否需要以其他方式获取选择器?