【问题标题】:Using jQuery to manipulate a composed HTML page?使用 jQuery 来操作一个组合的 HTML 页面?
【发布时间】:2021-07-08 23:06:29
【问题描述】:

我正在开发一个数据抓取应用程序。我要抓取的页面已经由服务器到服务器的请求收集,并且当前存储在我的数据库中。我使用 axios 请求从我的数据库中检索它们,现在我想使用我的 VueJS 应用程序遍历/操作页面。

这是我目前所拥有的......

import $ from 'jquery'
...
...
axios.get('/mydomain/fetch_page/1')
    .then(function (response) {
        console.log(response.data.body); // log point #1
        let $page = $(response.data.body);
        // let $heading = $page('h2');
        console.log($page); // log point #2
    })

在日志点 #1,页面看起来不错。它包括整个页面:DOCTYPE、html、head、body 等

在日志点 #2,它是一个对象,其中每个属性代表一个 DOM 节点,包括文本节点。

如果我取消注释查询$page 以获得$heading 的行,我会收到一条错误消息,告诉我$page 不是函数。我做错了什么?

【问题讨论】:

  • 使用 webdriver 或 selenium 之类的东西不是更容易吗?

标签: javascript jquery


【解决方案1】:

$page 是一个 jQuery 对象,而不是一个函数。就像使用 jQuery 编写 Web 应用程序一样,您在其上调用方法,而不是将其作为函数调用。

要获取h2 元素,请使用.find() 方法:

let $heading = $page.find("h2");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 2012-10-10
    相关资源
    最近更新 更多