当预订网站显示近期有新的预约(例如通过取消)时,我试图收到通知。该网站是booksy.com。
我已经写了一个 puppet 脚本,它将导航到页面,并单击一个按钮,然后将打开一个弹出窗口,显示下一个可用的约会时的文本。该脚本的作品。
我的下一步是让脚本实际读取弹出窗口的内容。这一直是一个问题,因为它只是试图在弹出窗口打开之前读取原始页面。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://booksy.com/en-gb/45005_gents-of-richmond_barber_311817_london#ba_s=sgr_1');
await page.waitForSelector('button[data-testid="service-button"]');
const button = await page.$('button[data-testid="service-button"]');
await button.click();
})();
我想如果我能阅读页面,我可以提取显示的月份和日期,也许可以根据当前日期评估输出,并确定它是否在未来7天的时间范围内。如果在该时间范围内,则向我发送通知。
我所问的只是我如何才能真正评估弹出的内容,得到它的月份和/或日期作为输出。谢谢!
1条答案
按热度按时间a0x5cqrl1#
booking模型是在一个框架中,所以你可以使用
.contentFrame()
来访问它,并像页面对象一样调用它的方法:我不完全确定你想要什么数据,但这给了你一周的日期。我希望你能从这里开始。
几点提示:
waitForSelector
之后,通常不必重新选择,它返回找到的元素。