Javascript 如何使用Puppeter访问iframe文档?
我正在尝试删除动画视频页面[jkanime],但我对mp4视频的格式有问题,因为它们位于iframe文档中 在chrome开发工具中,我添加了以下内容:$('jkvideo\uHTML5\uAPI source').src mp4的src告诉我。但我不知道如何应用查询*$('#jkvideo_html5_api source').src *和木偶演员在一起 现在。。。我想要实现的是如何获得_navigationURL的值,然后发出请求并引用mp4视频源 任何帮助都将不胜感激 图像 获得的部分输出Javascript 如何使用Puppeter访问iframe文档?,javascript,typescript,web-scraping,puppeteer,Javascript,Typescript,Web Scraping,Puppeteer,我正在尝试删除动画视频页面[jkanime],但我对mp4视频的格式有问题,因为它们位于iframe文档中 在chrome开发工具中,我添加了以下内容:$('jkvideo\uHTML5\uAPI source').src mp4的src告诉我。但我不知道如何应用查询*$('#jkvideo_html5_api source').src *和木偶演员在一起 现在。。。我想要实现的是如何获得_navigationURL的值,然后发出请求并引用mp4视频源 任何帮助都将不胜感激 图像 获得的部分输
....
OMWorld {
_frameManager:
FrameManager {
_events: [Object],
_eventsCount: 3,
_maxListeners: undefined,
_client: [CDPSession],
_page: [Page],
_networkManager: [NetworkManager],
_timeoutSettings: [TimeoutSettings],
_frames: [Map],
_contextIdToContext: [Map],
_isolatedWorlds: [Set],
_mainFrame: [Frame] },
_frame: [Circular],
_timeoutSettings:
TimeoutSettings { _defaultTimeout: null, _defaultNavigationTimeout: null }, _documentPromise: null,
_contextResolveCallback: null,
_contextPromise: Promise { [ExecutionContext] },
_waitTasks: Set {},
_detached: false },
_childFrames: Set {},
_name: '',
_navigationURL:
'https://jkanime.net/um.php?e=Q0VxeUQ2MmZRRlNWeUdHKzdoWlJQOGFLNjFRUnljVkFTaEtFMElZUjFmTlRPQnhnUUtqbnRodjhEVHlGYnVleWJsdnNnRy9wNzVLd0MrMURuRVBKV0tQZjVuT0tIblc3cUNmZDNzdFVFaEE9OjrIf8cc_60GOGTTN7Th9Q_a' }
我想要获得的输出
{
"src": [
"https://storage.googleapis.com/markesito.appspot.com/tokgho/01.mp4"
]
}
问题解决时间:上午11:34
const getAnimeVideo=async(id:string,chapter:number)=>{
const BASE_URL=`${URL}${id}/${chapter}/`/=>https://jkanime.net/tokyo-ghoul/1/
const browser=wait puppeter.launch()
const page=wait browser.newPage()
等待页面。转到(基本URL);
const elementHandle=等待页面。$(“.player\u conte”)
const frame=await elementHandle.contentFrame();
const video=等待帧。$eval('#jkvideo_html5_api',el=>
from(el.getElementsByTagName('source')).map(e=>e.getAttribute(“src”));
返回视频;
}
const getAnimeVideo=async(id:string,chapter:number)=>{
const BASE_URL=`${URL}${id}/${chapter}/`/=>https://jkanime.net/tokyo-ghoul/1/
const browser=wait puppeter.launch()
const page=wait browser.newPage()
等待页面。转到(基本URL);
const elementHandle=等待页面。$(“.player\u conte”)
const frame=await elementHandle.contentFrame();
const video=等待帧。$eval('#jkvideo_html5_api',el=>
from(el.getElementsByTagName('source')).map(e=>e.getAttribute(“src”));
返回视频;
}
const getAnimeVideo=async(id:string,chapter:number)=>{
const BASE_URL=`${URL}${id}/${chapter}/`/=>https://jkanime.net/tokyo-ghoul/1/
const browser=wait puppeter.launch()
const page=wait browser.newPage()
等待页面。转到(基本URL);
const elementHandle=等待页面。$(“.player\u conte”)
const frame=await elementHandle.contentFrame();
const video=等待帧。$eval('#jkvideo_html5_api',el=>
from(el.getElementsByTagName('source')).map(e=>e.getAttribute(“src”));
返回视频;
}
您可以将解决方案发布为此问题的答案,并将其标记为已解决,以便以后的人可以看到问题已解决。您可以将解决方案发布为此问题的答案,并将其标记为已解决,以便以后的人可以看到问题已解决。
{
"src": [
"https://storage.googleapis.com/markesito.appspot.com/tokgho/01.mp4"
]
}