【问题标题】:Extract iframe source in Puppeter sharp在 Puppeter sharp 中提取 iframe 源
【发布时间】:2019-10-25 08:56:18
【问题描述】:

我正在抓取网页并尝试使用 Puppeteer Sharp 从页面中提取 google 添加。 它们中的大多数都在帧内。帧提取抛出“评估失败”异常。

   var frameElement = await page.EvaluateExpressionAsync<ElementHandle>("google_ads_frame5");
   var frame = await frameElement.ContentFrameAsync();
   var frameContent = await frame.GetContentAsync();

Sample Image of banner and iframe content

【问题讨论】:

    标签: c# iframe puppeteer-sharp


    【解决方案1】:

    我会改用WaitForSelectorAsync

    var frameElement = await page.WaitForSelectorAsync("#google_ads_frame5");
    var frame = await frameElement.ContentFrameAsync();
    var frameContent = await frame.GetContentAsync();
    

    【讨论】:

    • 不工作在“文档”上执行“querySelector”失败:'不是一个有效的选择器。
    • 我试过 var expression = "document.getElementById('google_ads_frame5').contentWindow.document.body"; var frameBody = await page.EvaluateExpressionAsync(表达式);出现跨域帧错误。未捕获的 DOMException:阻止具有源“c-sharpcorner.com”的框架访问跨域框架。在 :1:104 我可以禁用的任何解决方案
    • 可以分享网址吗?
    • 任何谷歌横幅动画横幅,例如c-sharpcorner.com/UploadFile/mahesh/…左侧添加显示
    猜你喜欢
    • 2021-03-12
    • 1970-01-01
    • 2013-09-13
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    相关资源
    最近更新 更多