Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何筛选javascript生成的scrap.html页面?

如何筛选javascript生成的scrap.html页面?
EN

Stack Overflow用户
提问于 2014-04-12 09:09:56
回答 2查看 1.5K关注 0票数 0

我如何屏幕--一个由javascript生成的html页面?我尝试过这样的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        HtmlWeb hw = new HtmlWeb();
        doc = hw.Load("http://stats.nba.com/scores.html?gameDate=04/11/2014");
        HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div[@id='scoreboards']");

但是,这不起作用,因为内容是由javascript生成的。在javascript生成html之后,有没有一种方法可以刮掉页面?也许用别的东西然后是敏捷性包?

EN

回答 2

Stack Overflow用户

发布于 2014-04-12 11:02:21

使用get浏览器控件获取js或ajax加载的内容和元素。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void LoadHtmlWithBrowser(String url)
{
    webBrowser1.ScriptErrorsSuppressed = true;
    webBrowser1.Navigate(url);

    waitTillLoad(this.webBrowser1);

    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    var documentAsIHtmlDocument3 = (mshtml.IHTMLDocument3)webBrowser1.Document.DomDocument; 
    StringReader sr = new StringReader(documentAsIHtmlDocument3.documentElement.outerHTML); 
    doc.Load(sr);
}

private void waitTillLoad(WebBrowser webBrControl)
{
    WebBrowserReadyState loadStatus;
    int waittime = 100000;
    int counter = 0;
    while (true)
    {
        loadStatus = webBrControl.ReadyState;
        Application.DoEvents();
        if ((counter > waittime) || (loadStatus == WebBrowserReadyState.Uninitialized) || (loadStatus == WebBrowserReadyState.Loading) || (loadStatus == WebBrowserReadyState.Interactive))
        {
            break;
        }
        counter++;
    }

    counter = 0;
    while (true)
    {
        loadStatus = webBrControl.ReadyState;
        Application.DoEvents();
        if (loadStatus == WebBrowserReadyState.Complete && webBrControl.IsBusy != true)
        {
            break;
        }
        counter++;
    }
}
票数 2
EN

Stack Overflow用户

发布于 2014-04-12 09:14:51

您可以使用webbrowser对象,它是一个c#对象,它的作用类似于浏览器,运行javascript代码,并在收到响应后使用敏捷性包解析它。

MSDN - Web浏览器

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23033578

复制
相关文章
Selenium 如何定位 JavaScript 动态生成的页面元素
Selenium 是一个自动化测试工具,可以用来模拟浏览器的操作,如点击、输入、滚动等。但是有时候,我们需要定位的页面元素并不是一开始就存在的,而是由 JavaScript 动态生成的。这时候,如果我们直接用 Selenium 的 find_element 方法去定位元素,可能会出现找不到元素的错误,因为页面还没有加载完成。为了解决这个问题,我们需要使用一些特定的定位技巧,让 Selenium 等待元素出现后再进行操作。
jackcode
2023/04/19
3.1K0
Selenium 如何定位 JavaScript 动态生成的页面元素
页面是如何生成的(宏观角度)
当你启动一个应用程序,对应的进程就被创建。进程可能会创建一些线程用于帮助它完成部分工作,新建线程是一个可选操作。在启动某个进程的同时,操作系统(OS)也会分配内存以用于进程进行私有数据的存储。该内存空间是和其他进程是互不干扰的。
前端柒八九
2022/08/25
7500
页面是如何生成的(宏观角度)
什么是网站筛选页面,如何进行SEO优化?
清晰的网站导航结构不仅影响搜索引擎抓取网站的内容,也方便用户快速找到所需要的资料信息;网站导航系统与网站内部链接建设是密不可分的,它是网站易用性和用户体验度的一个参考标准,同时也是网站SEO优化重要的一环。
茹莱神兽
2022/04/15
7180
什么是网站筛选页面,如何进行SEO优化?
javascript如何监听页面刷新和页面关闭事件
在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接、关闭页面、表单提交时等情况,会提示我们是否确认该操作等信息。
兔云小新LM
2020/05/19
12.6K0
Javascript 将 HTML 页面生成 PDF 并下载
最近碰到个需求,需要把当前页面生成 pdf,并下载。弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :)
IT派
2018/08/10
3.2K0
Javascript 将 HTML 页面生成 PDF 并下载
最近碰到个需求,需要把当前页面生成 pdf,并下载。弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :)
前端教程
2018/07/27
2.4K0
Javascript 将 HTML 页面生成 PDF 并下载
最近碰到个需求,需要把当前页面生成 pdf,并下载。弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :)
前朝楚水
2018/07/26
4.3K0
学习如何使用JavaScript 生成各种好看的头像!
平时大家在用微信聊天或者发朋友圈的时候,都会希望什么呢?受人敬仰?彰显帅气?体现睿智?TJ君觉得,可能有一点是大家都会在意的,就是有一个特立独行却又让别人称赞、过目不忘的好看头像吧。
程序猿DD
2021/12/01
1.4K0
学习如何使用JavaScript 生成各种好看的头像!
多级菜单生成的嵌套路由如何展示页面
由于不管是二级菜单还是三级菜单都是在  <router-view></router-view> 中渲染
tianyawhl
2020/03/31
1.6K0
多级菜单生成的嵌套路由如何展示页面
网站页面的相关产品链接是如何生成的?
无论是单一入口还是所入口结构,对最终产品页面来说都可能有一个缺陷,那就是太过规则,有时候会造成某个部分的产品页面都不能被收录。单一入口结构更明显。
茹莱神兽
2022/08/12
9500
网站页面的相关产品链接是如何生成的?
HtmlUnit爬取Ajax动态生成的网页以及自动调用页面javascript函数
HtmlUnit是一款基于Java的没有图形界面的浏览器程序。它模仿HTML document并且提供API让开发人员像是在一个正常的浏览器上操作一样,获取网页内容,填充表单,点击超链接等等。
lovelife110
2021/01/14
3K0
HTML页面生成器:使用JavaScript和Node创建CLI
在上一篇文章:【实战】从零开始使用JavaScript制作自己的命令行(CLI工具) 中我介绍了如何从零开始制作CLI,那么现在我们更进一步。在这篇文章中,我们将构建一个简单的CLI,允许用户生成HTML页面。我们首先要生成一个标准的空白页面,然后让用户输入参数,比如文件名和标题,先通过选项,然后通过提示问题让用户输入参数。
张张
2020/05/09
2.7K0
HTML页面生成器:使用JavaScript和Node创建CLI
用实例说明如何用JavaScript生成XML
<script language="javascript">  <!--  var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")   //加载文档  //doc.load("b.xml");  //创建文件头  var p = doc.createProcessingInstruction ("xml","version=’’1.0’’   encoding=’’gb23
阿新
2018/04/10
1.5K0
网站筛选功能页面不收录,还有优化的必要么?
网站信息筛选功能页面是网站因为网页过多,数据过于庞大,为了方便用户浏览和查询所需要的信息而制作出来的多个条件的功能页面,目的是让用户能够快速通过筛选条件找到想要的内容。
茹莱神兽
2022/03/13
7700
网站筛选功能页面不收录,还有优化的必要么?
javascript:json数据的页面绑定
web开发中,如果需要将“服务端返回的json对象”绑定到“现有页面上的dom元素”,传统赋值的方式太繁琐,写起来也很累(特别是json对象很大时),于是想出了下面的偷懒方法,不过有二个前提: 1、元素的id要与json对象中的属性命名一致 2、json对象中的属性名,最好不要重复 <!doctype html> <html> <head> <title>json对象遍历演示</title> <script type="text/javascript"> var obj = {a:'a1',b:'b1',c
菩提树下的杨过
2018/01/24
1.2K0
JavaScript 页面跳转的几种方式
第一种:       <script language="javascript" type="text/javascript">          window.location.href="logi
阳光岛主
2019/02/19
1.9K0
JavaScript禁用页面刷新
JavaScript禁用页面刷新代码如下: //禁用F5刷新 document.onkeydown = function () { if (event.keyCode == 116) { event.keyCode = 0; event.cancelBubble = true; return false; } } //禁止右键弹出菜单 document.oncontextmenu = function () { return fals
磊哥
2018/05/08
4.9K0
Javascript生成GUID
<script language="JavaScript" type="text/javascript"> function newGuid() { var guid = ""; for (var i = 1; i <= 32; i++){ var n = Math.floor(Math.random()*16.0).toString(16);       guid +=   n; if((i==8)||(i==12)||(i==16)||(i==20))         guid += "
菩提树下的杨过
2018/01/24
1.1K0
点击加载更多

相似问题

Javascript生成计算和筛选列表

38

如何用Python中的Javascript生成页面?

131

Javascript搜索筛选器删除页面元素

12

返回筛选器将生成不同的页面- Django

22

Javascript卡片搜索筛选卡概述页面

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文