http://8.217.145.134/?id=5a61f1a1-c633-4e7c-9a4d-42227db1765d
我是0基础小百,想找到这个网站登陆界面怎么找啊,大手们帮小老d一下啊
怎么通过一段url查找到网站主界面
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
首先,需要明确一下网站登陆界面是什么样子的,通常来说,登陆界面会有一个输入账号和输入密码的区域和一个登陆按钮,也可能会有忘记密码、注册等相关链接。在这个前提下,我们可以通过以下方式找到网站登陆界面:- 直接在网址栏中输入网站域名,例如https://www.baidu.com,打开网站首页后,通常可以在网站的顶部或者底部找到“登陆”或者“登录”等相关链接,点击即可进入登陆界面。
- 在搜索引擎中搜索网站名称+登陆/登录,例如搜索“百度登陆”或“百度登录”,搜索引擎会返回相关的登陆页面链接,点击进入即可。
- 使用谷歌浏览器自带的“开发者工具”,进入网站首页后右键点击鼠标,选择“检查”,会打开一个浏览器侧边栏,在侧边栏中选择“网络(Network)”标签页,在这个标签页中会看到所有的网络请求,找到请求的URL中包含“login”或者“signin”的请求,这就是网站的登陆界面。 案例: 我们以知名的社交媒体网站Facebook为例,来演示如何找到网站的登陆界面。
- 直接在网址栏中输入网站域名www.facebook.com,打开网站首页后,在右上角可以找到“登陆”或者“Log In”等相关链接,点击进入登陆页面。
- 在搜索引擎中搜索“facebook登陆”或“facebook登录”,会返回相关的登陆页面链接,点击进入即可。
- 使用谷歌浏览器自带的“开发者工具”,进入网站首页后右键点击鼠标,选择“检查”,会打开一个浏览器侧边栏,在侧边栏中选择“网络(Network)”标签页,可以看到网站的所有网络请求,找到url包含“login”或“signin”的请求,点击进入即可找到登陆界面。 代码: 使用谷歌浏览器自带的“开发者工具”可以找到网站的登陆界面,具体的代码如下:
//打开网站 await page.goto('https://www.baidu.com/'); //打开开发者工具 await page.setViewport({ width: 1280, height: 800 }); await page.evaluate(() => { return new Promise((resolve) => { window.setTimeout(() => { resolve(window.open('', '_blank', 'height=800,width=1280')); }, 0); }); }); //跳转到开发者工具页面 let devtoolsTarget; await targetsChangedPromise; const targets = await browser.targets(); for (const target of targets) { if (target.type() === 'page' && target.url().includes('devtools://')) { devtoolsTarget = target; } } await devtoolsTarget.activate(); //在开发者工具页面打开控制台 const tab = await devtoolsTarget.page(); await tab.goto(devtoolsTarget.url().replace('devtools://', '')); const devtoolsSession = await devtoolsTarget.createCDPSession(); const { sessionId } = devtoolsSession; //在控制台中输入命令,找到登陆界面url await devtoolsSession.send('Network.enable'); const consoleMessages = [{ "method": "Runtime.evaluate", "params": { "expression": ` const addConsoleMessage = (text) => { const message = { "method": "Console.messageAdded", "params": { "message": { "text": text, "level": "log", }, }, }; this.client.sendEncoded(message); }; let urlFound = false; let url; this.client.on('Network.requestWillBeSent', ({requestId, request}) => { if (request.url.includes('login') || request.url.includes('signin')) { addConsoleMessage(\`Found url: \${request.url}\`); url = request.url; urlFound = true; } }); const intervalId = setInterval(() => { if (urlFound) { clearInterval(intervalId); this.client.removeListener('Network.requestWillBeSent'); resolve(url); } }, 100); `, "returnByValue": true, }, "sessionId": sessionId, }]; await devtoolsSession.send('Runtime.enable'); await Promise.all(consoleMessages.map((message) => { return new Promise((resolve, reject) => { devtoolsSession.once('Runtime.consoleAPICalled', (msg) => { if (msg.args && msg.args[0].value === 'Found url: ') { return; } if (msg.args) { resolve(msg.args[0].value); } else { reject('Could not get value'); } }); devtoolsSession.send(message); }); })); //输出找到的登陆界面url const url = consoleMessages[0]; console.log(`找到的登陆界面url是${url}`);
需要注意的是,在使用谷歌浏览器自带的“开发者工具”时,需要在puppeteer中开启开发者工具,并且需要一些基本的前置条件,例如需要加载页面,需要等待目标加载完成等。此外,如果想获取更多的页面信息,还需要寻找相应的开发者工具API,并且按照相应的格式输入命令,才能够获取到需要的信息。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败
- ¥15 树莓派5怎么用camera module 3啊
- ¥20 java在应用程序里获取不到扬声器设备
- ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: