我正在尝试使用 puppeteer 抓取某个网站的一些初创公司数据,当我尝试导航到下一页时,cloudflare 等待屏幕出现并中断抓取。我尝试更改IP,但还是一样。有没有办法用 puppeteer 绕过它。
(async () => {
const browser = await puppeteer.launch({
headless: false,
defaultViewport: null,
});
const page = await browser.newPage();
page.setDefaultNavigationTimeout(0);
let links = [];
// initial page
await page.goto(`https://www.startupranking.com/top/india`, {
waitUntil: "networkidle0",
});
// looping through the url to different pages
for (let i = 2; i <= 7; i++) {
if (i === 3) {
console.log("waiting");
await page.waitFor(20000);
console.log("waited");
}
const onPageLinks = await page.$$eval("tr .name a", (arr) =>
arr.map((cur) => cur.href)
); …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个 chrome 扩展,它需要我收集帖子链接。但收集链接的问题在于,它可以在 FB 在每个帖子上提供的时间戳上的锚标记上找到。
但是当您将鼠标悬停在元素上时,锚标记的 href 会动态填充。我尝试在元素上调度 amouseover和mouseenter事件,但 href 仍未填充。
我的职能:
const hoverOverTag = (element) => {
var event = new Event('mouseover', {
'view': window,
'bubbles': true,
'cancelable': true
});
element.addEventListener('mouseover', function(e) {
console.log("hover");
console.log(e);
});
element.dispatchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
事件侦听器正确运行并记录事件。但仍然没有填充 href。我在内容脚本中运行它,有什么方法可以获取帖子链接吗?