| 15楼#发布于:2024-04-15 10:15 fanta:hello,大神,好久不见,我又来向您求助了 看不懂html代码就去学啊,十多年前我也是用firebug边看html结构边学jquery的。现在自带的F12开发工具比当年的firebug强大多了,一年过去了怎么这点长进都没有 open("https://home.zongheng.com/people/" + window.__NUXT__.state.detail.detailBook.authorInfo.authorId, "_blank");
     
document.querySelectorAll('.detail-catalog--chapter .chapter-list--item-main').forEach((a)=>{
  console.log(a.textContent)
});或者直接用它的api了,不跟html纠缠,就不用等它把目录加载完毕fetch("https://bookapi.zongheng.com/api/chapter/getChapterList", {
  method: "POST",
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: "bookId=" + window.__NUXT__.state.detail.detailBook.book.bookId,
}).then(async (data)=>{
  let response = await data.json();
  if (response.code == 0) {
    for (const tome of response.result.chapterList) {
      for (const chap of tome.chapterViewList) {
        console.log(tome.tome.tomeName + "-" + chap.chapterName)
      }
    }
  }
}); | |
| 16楼#发布于:2024-04-15 16:26 | |
| 17楼#发布于:2024-04-15 17:44 | |
| 18楼#发布于:2024-04-15 18:32 taoww:首先去查看页面源代码,搜索看有没有包含 window.__NUXT__= 这么一段脚本的script。 // ==UserScript==
// @name         why
// @version      0.1
// @description  books.
// @match        https://www.zongheng.com/detail/*
// @require      https://code.jquery.com/jquery-3.6.1.min.js
// ==/UserScript==
/* globals jQuery, $, waitForKeyElements */
(function() { 'use strict';
  console.log('test');
  open("https://home.zongheng.com/people/" + window.__NUXT__.state.detail.detailBook.authorInfo.authorId, "_blank");
  document.querySelectorAll('.detail-catalog--chapter .chapter-list--item-main').forEach((a)=>{
    console.log(a.textContent)
  });
})();把@run-at设置成了document-start ..没用过..嘿嘿... 搜索window.__NUXT__是有的 window.__NUXT__ = (function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D) { | |
| 19楼#发布于:2024-04-15 18:38 taoww:首先去查看页面源代码,搜索看有没有包含 window.__NUXT__= 这么一段脚本的script。firefox 报错是Uncaught (in promise) TypeError: window.__NUXT__ is undefined safari报错是Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'window.__NUXT__.state') | |
| 20楼#发布于:2024-04-15 20:21 fanta:// ==UserScript==我试了下,是因为tampermonkey实现了个沙盒,你这样写没法取得页面环境中window的属性 在// ==/UserScript==之前加一行 // @grant none禁止掉沙盒就能正常工作了。 或者加上 // @grant unsafeWindow再把代码中的window改成unsafeWindow,可以保留沙盒 | |
| 21楼#发布于:2024-04-15 22:46 taoww:我试了下,是因为tampermonkey实现了个沙盒,你这样写没法取得页面环境中window的属性加上// @grant none确实不报错了,但是console.log(a.textContent)什么也没输出啊,只能输出我加的'test' // ==UserScript==
// @name         why
// @version      0.1
// @description  books.
// @match        https://www.zongheng.com/detail/*
// @require      https://code.jquery.com/jquery-3.6.1.min.js
// @grant        none
// ==/UserScript==
/* globals jQuery, $, waitForKeyElements */
(function() { 'use strict';
  console.log('test');
  open("https://home.zongheng.com/people/" + window.__NUXT__.state.detail.detailBook.authorInfo.authorId, "_blank");
  document.querySelectorAll('.detail-catalog--chapter .chapter-list--item-main').forEach((a)=>{
    console.log(a.textContent)
  });
  console.log('test2');
 
})(); | |
| 22楼#发布于:2024-04-15 23:23 
					我猜是需要加入代码等待载入完成,可是我用百度搜到的没成功... 不过,我又测试了您说的第二种办法,成功取得了章节列表 现在就是还存在我提问的第一个问题,这个链接怎么获取 1.如何获取 点击右侧作者名字 或 作者头像 跳转到作者所有作品的链接,就是如何获取这个地址https://home.zongheng.com/people/19335221 | |
| 23楼#发布于:2024-04-15 23:53 | |
| 24楼#发布于:2024-04-16 00:23 
					无论如何感谢帮忙,我太笨后续一些还是搞不定,先这样,我有空再折腾				 | |
上一页
下一页
 
			
			
						
			
			
						
			
		 
							
 
				
 
				

