0

我有兴趣使用模式窗口抓取网站以选择位置。网站数据取决于在模式窗口中选择的位置。

如何显示模态窗口并选择我有兴趣抓取的位置?

我对Apify很熟悉,我打算使用interceptRequest()回调函数来显示模态窗口并选择它,但是我对如何做不是很熟悉。

编辑:为清楚起见添加图片 在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

通常,模态在抓取/自动化方面并不特别。您可以等待模态的选择器加载,然后您可以单击以关闭模态或执行任何其他操作。

所以我检查了工作流程,没有什么特别的。我不会包含整个代码。你可以找到关于Apify SDK的详细教程和Puppeteer 的文档,在那里你可以在线找到它的所有功能。

因此,一旦您在handlePageFunction原始演员或Puppeteer Scraper中,您只需单击 Ver Precio 按钮,等待模式打开,然后填写输入并提交。

await page.click('.verprecio');
await page.waitForSelector('#frmBuscarSucursal2'); // Selector of the modal body
// Alternatively, if this will cause problems, you can just use plain waitFor
// await page.waitFor(5000) // waits 5 secs

// Now we select region
await page.select('#cmbRegiones2', '11'); // Each region has a number value

await page.select('#cmbMunicipio2', '901'); // The same for municipio

// And we submit by clicking on Buscar
await page.click('#btn-modal-buscar2');

如果您想简单地使用Web Scraper,您也可以使用纯 javascript 来管理它,但它通常不如使用 Puppeteer 函数可靠。

于 2019-08-13T19:29:07.240 回答